Revert "cc: use platform sdk version for vendor/product variants"
Revert submission 3334193-no-llndk-versioning
Reason for revert: Droidmonitor created revert due to b/378038995. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:3334193-no-llndk-versioning
Change-Id: I76eb9118407dfb2353384c312e17c40f4e590028
diff --git a/cc/cc.go b/cc/cc.go
index 0ed6238..5dee32e 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1567,11 +1567,12 @@
}
if ctx.ctx.Device() {
- // When building for vendor/product, use the latest _stable_ API as "current".
- // This is passed to clang/aidl compilers so that compiled/generated code works
- // with the system.
- if (ctx.inVendor() || ctx.inProduct()) && (ver == "" || ver == "current") {
- ver = ctx.ctx.Config().PlatformSdkVersion().String()
+ config := ctx.ctx.Config()
+ if ctx.inVendor() {
+ // If building for vendor with final API, then use the latest _stable_ API as "current".
+ if config.VendorApiLevelFrozen() && (ver == "" || ver == "current") {
+ ver = config.PlatformSdkVersion().String()
+ }
}
}
diff --git a/cc/cc_test.go b/cc/cc_test.go
index f170d0a..e906706 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -3258,7 +3258,7 @@
testDepWithVariant("product")
}
-func TestVendorOrProductVariantUsesPlatformSdkVersionAsDefault(t *testing.T) {
+func TestVendorSdkVersion(t *testing.T) {
t.Parallel()
bp := `
@@ -3266,29 +3266,31 @@
name: "libfoo",
srcs: ["libfoo.cc"],
vendor_available: true,
- product_available: true,
}
cc_library {
name: "libbar",
srcs: ["libbar.cc"],
vendor_available: true,
- product_available: true,
min_sdk_version: "29",
}
`
ctx := prepareForCcTest.RunTestWithBp(t, bp)
- testSdkVersionFlag := func(module, variant, version string) {
- flags := ctx.ModuleForTests(module, "android_"+variant+"_arm64_armv8-a_static").Rule("cc").Args["cFlags"]
- android.AssertStringDoesContain(t, "target SDK version", flags, "-target aarch64-linux-android"+version)
+ testSdkVersionFlag := func(module, version string) {
+ flags := ctx.ModuleForTests(module, "android_vendor_arm64_armv8-a_static").Rule("cc").Args["cFlags"]
+ android.AssertStringDoesContain(t, "min sdk version", flags, "-target aarch64-linux-android"+version)
}
- testSdkVersionFlag("libfoo", "vendor", "30")
- testSdkVersionFlag("libfoo", "product", "30")
- // target SDK version can be set explicitly with min_sdk_version
- testSdkVersionFlag("libbar", "vendor", "29")
- testSdkVersionFlag("libbar", "product", "29")
+ testSdkVersionFlag("libfoo", "10000")
+ testSdkVersionFlag("libbar", "29")
+
+ ctx = android.GroupFixturePreparers(
+ prepareForCcTest,
+ android.PrepareForTestWithBuildFlag("RELEASE_BOARD_API_LEVEL_FROZEN", "true"),
+ ).RunTestWithBp(t, bp)
+ testSdkVersionFlag("libfoo", "30")
+ testSdkVersionFlag("libbar", "29")
}
func TestClangVerify(t *testing.T) {