Merge "Allow apis from exported shared library headers as well, while dumping abi."

This commit is contained in:
Jayant Chowdhary
2017-08-25 16:50:32 +00:00
committed by Gerrit Code Review
3 changed files with 5 additions and 9 deletions

View File

@@ -184,7 +184,7 @@ var (
// Abidiff check turned on in advice-only mode. Builds will not fail on abi incompatibilties / extensions.
sAbiDiff = pctx.AndroidStaticRule("sAbiDiff",
blueprint.RuleParams{
Command: "$sAbiDiffer -lib $libName -arch $arch -advice-only -o ${out} -new $in -old $referenceDump",
Command: "$sAbiDiffer -lib $libName -arch $arch -advice-only -check-all-apis -o ${out} -new $in -old $referenceDump",
CommandDeps: []string{"$sAbiDiffer"},
},
"referenceDump", "libName", "arch")

View File

@@ -1028,11 +1028,9 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
depPaths.ReexportedFlags = append(depPaths.ReexportedFlags, flags...)
depPaths.ReexportedFlagsDeps = append(depPaths.ReexportedFlagsDeps, deps...)
// Add these re-exported flags to help header-abi-dumper to infer the abi exported by a library.
// Re-exported flags from shared library dependencies are not included as those shared libraries
// will be included in the vndk set.
if tag == staticExportDepTag || tag == headerExportDepTag {
c.sabi.Properties.ReexportedIncludeFlags = append(c.sabi.Properties.ReexportedIncludeFlags, flags...)
}
// Re-exported shared library headers must be included as well since they can help us with type information
// about template instantiations (instantiated from their headers).
c.sabi.Properties.ReexportedIncludeFlags = append(c.sabi.Properties.ReexportedIncludeFlags, flags...)
}
}

View File

@@ -323,9 +323,7 @@ func extractExportIncludesFromFlags(flags []string) []string {
// from a source. We extract the include flags exported by a library.
// This includes the flags exported which are re-exported from static
// library dependencies, exported header library dependencies and
// generated header dependencies. Re-exported shared library include
// flags are not in this set since shared library dependencies will
// themselves be included in the vndk. -isystem headers are not included
// generated header dependencies. -isystem headers are not included
// since for bionic libraries, abi-filtering is taken care of by version
// scripts.
var exportedIncludes []string