From 146e9824c5d1f74c30c179450b1abe77f6081118 Mon Sep 17 00:00:00 2001 From: Aleksei Vetrov Date: Fri, 24 Nov 2023 19:54:26 +0000 Subject: [PATCH] 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 --- android/config.go | 5 +++++ cc/ndk_library.go | 14 ++++---------- 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) } }