Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d5cccd0 authored by Priyanka Advani (xWF)'s avatar Priyanka Advani (xWF) Committed by Gerrit Code Review
Browse files

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
parent 0f1a781e
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1567,11 +1567,12 @@ func (ctx *moduleContextImpl) minSdkVersion() string {
	}

	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()
			}
		}
	}

+13 −11
Original line number Diff line number Diff line
@@ -3258,7 +3258,7 @@ func TestImageVariants(t *testing.T) {
	testDepWithVariant("product")
}

func TestVendorOrProductVariantUsesPlatformSdkVersionAsDefault(t *testing.T) {
func TestVendorSdkVersion(t *testing.T) {
	t.Parallel()

	bp := `
@@ -3266,29 +3266,31 @@ func TestVendorOrProductVariantUsesPlatformSdkVersionAsDefault(t *testing.T) {
			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) {