Merge "Define __ANDROID_VENDOR_API__" into main am: e0a5c5ae1d

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2851889

Change-Id: I6b457a4db55d058006ab2c0f74e825b777b0518a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-12-05 04:08:31 +00:00 committed by Automerger Merge Worker
commit 53271a2489
5 changed files with 27 additions and 0 deletions

View file

@ -1426,6 +1426,10 @@ func (c *config) IsVndkDeprecated() bool {
return !Bool(c.productVariables.KeepVndk)
}
func (c *config) VendorApiLevel() string {
return String(c.productVariables.VendorApiLevel)
}
func (c *deviceConfig) Arches() []Arch {
var arches []Arch
for _, target := range c.config.Targets[Android] {

View file

@ -226,6 +226,8 @@ type ProductVariables struct {
DeviceMaxPageSizeSupported *string `json:",omitempty"`
DevicePageSizeAgnostic *bool `json:",omitempty"`
VendorApiLevel *string `json:",omitempty"`
RecoverySnapshotVersion *string `json:",omitempty"`
DeviceSecondaryArch *string `json:",omitempty"`

View file

@ -40,6 +40,7 @@ func TestMain(m *testing.M) {
var prepareForCcTest = android.GroupFixturePreparers(
PrepareForTestWithCcIncludeVndk,
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
variables.VendorApiLevel = StringPtr("202404")
variables.DeviceVndkVersion = StringPtr("current")
variables.Platform_vndk_version = StringPtr("29")
}),
@ -2131,11 +2132,13 @@ func TestEnforceProductVndkVersion(t *testing.T) {
ensureStringContains(t, vendor_cflags, "-D__ANDROID_VNDK__")
ensureStringContains(t, vendor_cflags, "-D__ANDROID_VENDOR__")
ensureStringNotContains(t, vendor_cflags, "-D__ANDROID_PRODUCT__")
ensureStringContains(t, vendor_cflags, "-D__ANDROID_VENDOR_API__=202404")
product_cflags := product_static.Rule("cc").Args["cFlags"]
ensureStringContains(t, product_cflags, "-D__ANDROID_VNDK__")
ensureStringContains(t, product_cflags, "-D__ANDROID_PRODUCT__")
ensureStringNotContains(t, product_cflags, "-D__ANDROID_VENDOR__")
ensureStringNotContains(t, product_cflags, "-D__ANDROID_VENDOR_API__=202404")
}
func TestEnforceProductVndkVersionErrors(t *testing.T) {

View file

@ -406,6 +406,15 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
flags.Global.CommonFlags = append(flags.Global.CommonFlags, "-D__ANDROID_VNDK__")
if ctx.inVendor() {
flags.Global.CommonFlags = append(flags.Global.CommonFlags, "-D__ANDROID_VENDOR__")
vendorApiLevel := ctx.Config().VendorApiLevel()
if vendorApiLevel == "" {
// TODO(b/314036847): This is a fallback for UDC targets.
// This must be a build failure when UDC is no longer built
// from this source tree.
vendorApiLevel = ctx.Config().PlatformSdkVersion().String()
}
flags.Global.CommonFlags = append(flags.Global.CommonFlags, "-D__ANDROID_VENDOR_API__="+vendorApiLevel)
} else if ctx.inProduct() {
flags.Global.CommonFlags = append(flags.Global.CommonFlags, "-D__ANDROID_PRODUCT__")
}

View file

@ -174,6 +174,15 @@ func (b *bindgenDecorator) GenerateSource(ctx ModuleContext, deps PathDeps) andr
cflags = append(cflags, "-D__ANDROID_VNDK__")
if ctx.RustModule().InVendor() {
cflags = append(cflags, "-D__ANDROID_VENDOR__")
vendorApiLevel := ctx.Config().VendorApiLevel()
if vendorApiLevel == "" {
// TODO(b/314036847): This is a fallback for UDC targets.
// This must be a build failure when UDC is no longer built
// from this source tree.
vendorApiLevel = ctx.Config().PlatformSdkVersion().String()
}
cflags = append(cflags, "-D__ANDROID_VENDOR_API__="+vendorApiLevel)
} else if ctx.RustModule().InProduct() {
cflags = append(cflags, "-D__ANDROID_PRODUCT__")
}