Optimizations to abi checking.
We now add export_static_lib_headers, export_generated_headers to the
filters while dumping the abi of a library using header-abi-dumper
(through -I<dir> additions to the invocation of header-abi-dumper and
header-abi-linker)
Also add support for zipped reference source based abi dumps.
Test: mm -j64 in hardware/interfaces/nfc/default/1.0 produces
android.hardware.nfc@1.0.so.lsdump with abi filtered out using generated
headers.
Test: Copied the linked abi dumps produced by mm -j64 in bionic/libc to
prebuilts/abi-dumps/ndk and gzipped them. Ran mm -j64 again in
bionic/libc and verified header-abi-diff getting invoked.
Bug: 32750600
Change-Id: I26210af908c87a6143e39fa25f50307acb68a387
diff --git a/cc/sabi.go b/cc/sabi.go
index 7ae31c9..01ef737 100644
--- a/cc/sabi.go
+++ b/cc/sabi.go
@@ -22,7 +22,8 @@
)
type SAbiProperties struct {
- CreateSAbiDumps bool `blueprint:"mutated"`
+ CreateSAbiDumps bool `blueprint:"mutated"`
+ ReexportedIncludeFlags []string
}
type sabi struct {
@@ -45,7 +46,7 @@
func sabiDepsMutator(mctx android.TopDownMutatorContext) {
if c, ok := mctx.Module().(*Module); ok &&
- ((inList(c.Name(), config.VndkLibraries())) || (inList(c.Name(), config.LLndkLibraries())) ||
+ (Bool(c.Properties.Vendor_available) || (inList(c.Name(), config.LLndkLibraries())) ||
(c.sabi != nil && c.sabi.Properties.CreateSAbiDumps)) {
mctx.VisitDirectDeps(func(m blueprint.Module) {
tag := mctx.OtherModuleDependencyTag(m)