Expose the minimum supported SDK version to make.
Right now this is hard coded in two places (here and in
core/binary.mk). Keep it in one place so it's easier to change.
Test: make checkbuild
Bug: None
Change-Id: I2a2c784d4c667b326f871e6144db92753c16c85f
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index 8fbffcf..fc7cd91 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -110,18 +110,20 @@
}
}
-func normalizeNdkApiLevel(apiLevel string, arch android.Arch) (string, error) {
+func normalizeNdkApiLevel(ctx android.BaseContext, apiLevel string,
+ arch android.Arch) (string, error) {
+
if apiLevel == "current" {
return apiLevel, nil
}
- minVersion := 9 // Minimum version supported by the NDK.
+ minVersion := ctx.AConfig().MinSupportedSdkVersion()
firstArchVersions := map[android.ArchType]int{
- android.Arm: 9,
+ android.Arm: minVersion,
android.Arm64: 21,
- android.Mips: 9,
+ android.Mips: minVersion,
android.Mips64: 21,
- android.X86: 9,
+ android.X86: minVersion,
android.X86_64: 21,
}
@@ -188,7 +190,7 @@
func generateStubApiVariants(mctx android.BottomUpMutatorContext, c *stubDecorator) {
platformVersion := mctx.AConfig().PlatformSdkVersionInt()
- firstSupportedVersion, err := normalizeNdkApiLevel(c.properties.First_version,
+ firstSupportedVersion, err := normalizeNdkApiLevel(mctx, c.properties.First_version,
mctx.Arch())
if err != nil {
mctx.PropertyErrorf("first_version", err.Error())