Use libabigail to track NDK ABIs.
The local diffing behavior is currently flagged off so we can land
this in stages.
Test: pytest cc
Test: treehugger
Test: development/tools/update_ndk_abi.sh
Test: m ndk
Bug: http://b/156513478
Change-Id: Iccb314411bc74ea3ddfea8b85b0539709295f65a
diff --git a/cc/ndk_sysroot.go b/cc/ndk_sysroot.go
index d8c500e..4a9601b 100644
--- a/cc/ndk_sysroot.go
+++ b/cc/ndk_sysroot.go
@@ -144,10 +144,9 @@
Inputs: licensePaths,
})
- baseDepPaths := append(installPaths, combinedLicense)
+ baseDepPaths := append(installPaths, combinedLicense,
+ getNdkAbiDiffTimestampFile(ctx))
- // There's a dummy "ndk" rule defined in ndk/Android.mk that depends on
- // this. `m ndk` will build the sysroots.
ctx.Build(pctx, android.BuildParams{
Rule: android.Touch,
Output: getNdkBaseTimestampFile(ctx),
@@ -156,6 +155,11 @@
fullDepPaths := append(staticLibInstallPaths, getNdkBaseTimestampFile(ctx))
+ // There's a phony "ndk" rule defined in core/main.mk that depends on this.
+ // `m ndk` will build the sysroots for the architectures in the current
+ // lunch target. `build/soong/scripts/build-ndk-prebuilts.sh` will build the
+ // sysroots for all the NDK architectures and package them so they can be
+ // imported into the NDK's build.
ctx.Build(pctx, android.BuildParams{
Rule: android.Touch,
Output: getNdkFullTimestampFile(ctx),