summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aleksei Vetrov <vvvvvv@google.com> 2023-11-24 19:54:26 +0000
committer Aleksei Vetrov <vvvvvv@google.com> 2023-12-05 23:52:46 +0000
commit146e9824c5d1f74c30c179450b1abe77f6081118 (patch)
tree90512b0669b99ca860bc3329809c6f988f396d5c
parentfe3777742a3f831fc0bd62c2435d4bc64ee78aa7 (diff)
Move NDK ABI monitoring enabling flag to release flags
Currently NDK ABI monitoring is enabled by switching boolean flag in soong code. When this flag is switched, it will enable ABI monitoring in all release configurations at once. This change moves the flag from soong code to the trunk-stable flags framework ("build/release/build_flags.scl") that allows to enable it only in specific configurations like "trunk-staging". Test: TH Bug: 156513478 Change-Id: Ibb810a834c0d756b22782b1a2d8ec5a5e575a4b3
-rw-r--r--android/config.go5
-rw-r--r--cc/ndk_library.go14
2 files changed, 9 insertions, 10 deletions
diff --git a/android/config.go b/android/config.go
index a9fcca5ad..e9e211279 100644
--- a/android/config.go
+++ b/android/config.go
@@ -239,6 +239,11 @@ func (c Config) ReleaseDefaultModuleBuildFromSource() bool {
Bool(c.config.productVariables.ReleaseDefaultModuleBuildFromSource)
}
+// Enables ABI monitoring of NDK libraries
+func (c Config) ReleaseNdkAbiMonitored() bool {
+ return c.config.productVariables.GetBuildFlagBool("RELEASE_NDK_ABI_MONITORED")
+}
+
// A DeviceConfig object represents the configuration for a particular device
// being built. For now there will only be one of these, but in the future there
// may be multiple devices being built.
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index df775de3e..348c3bc03 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -334,18 +334,12 @@ func canDumpAbi(config android.Config) bool {
return false
}
// http://b/156513478
- // http://b/277624006
- // This step is expensive. We're not able to do anything with the outputs of
- // this step yet (canDiffAbi is flagged off because libabigail isn't able to
- // handle all our libraries), disable it. There's no sense in protecting
- // against checking in code that breaks abidw since by the time any of this
- // can be turned on we'll need to migrate to STG anyway.
- return false
+ return config.ReleaseNdkAbiMonitored()
}
// Feature flag to disable diffing against prebuilts.
-func canDiffAbi() bool {
- return false
+func canDiffAbi(config android.Config) bool {
+ return config.ReleaseNdkAbiMonitored()
}
func (this *stubDecorator) dumpAbi(ctx ModuleContext, symbolList android.Path) {
@@ -476,7 +470,7 @@ func (c *stubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) O
c.versionScriptPath = nativeAbiResult.versionScript
if canDumpAbi(ctx.Config()) {
c.dumpAbi(ctx, nativeAbiResult.symbolList)
- if canDiffAbi() {
+ if canDiffAbi(ctx.Config()) {
c.diffAbi(ctx)
}
}