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
This commit is contained in:
Jayant Chowdhary
2017-04-20 06:53:59 -07:00
parent 442b7e6dc9
commit 715cac3971
7 changed files with 69 additions and 13 deletions

View File

@@ -22,7 +22,8 @@ import (
)
type SAbiProperties struct {
CreateSAbiDumps bool `blueprint:"mutated"`
CreateSAbiDumps bool `blueprint:"mutated"`
ReexportedIncludeFlags []string
}
type sabi struct {
@@ -45,7 +46,7 @@ func (sabimod *sabi) flags(ctx ModuleContext, flags Flags) Flags {
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)