Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__
__ANDROID_VNDK__ is defined for the modules that are able to use the VNDK libraries. As both product and vendor variants define __ANDROID_VNDK__, we don't know if a module is built for vendor or product on build time. __ANDROID_VENDOR__ and __ANDROID_PRODUCT__ macros can be used to specify the image-variant-dependent codes. Bug: 180646847 Test: m nothing Change-Id: Id6c3e1e3d47deaf3684c0c02964718658cf2fec5
This commit is contained in:
@@ -2678,6 +2678,40 @@ func TestVendorApex_use_vndk_as_stable(t *testing.T) {
|
||||
ensureListContains(t, requireNativeLibs, ":vndk")
|
||||
}
|
||||
|
||||
func TestProductVariant(t *testing.T) {
|
||||
ctx := testApex(t, `
|
||||
apex {
|
||||
name: "myapex",
|
||||
key: "myapex.key",
|
||||
updatable: false,
|
||||
product_specific: true,
|
||||
binaries: ["foo"],
|
||||
}
|
||||
|
||||
apex_key {
|
||||
name: "myapex.key",
|
||||
public_key: "testkey.avbpubkey",
|
||||
private_key: "testkey.pem",
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "foo",
|
||||
product_available: true,
|
||||
apex_available: ["myapex"],
|
||||
srcs: ["foo.cpp"],
|
||||
}
|
||||
`, func(fs map[string][]byte, config android.Config) {
|
||||
config.TestProductVariables.ProductVndkVersion = proptools.StringPtr("current")
|
||||
})
|
||||
|
||||
cflags := strings.Fields(
|
||||
ctx.ModuleForTests("foo", "android_product.VER_arm64_armv8-a_apex10000").Rule("cc").Args["cFlags"])
|
||||
ensureListContains(t, cflags, "-D__ANDROID_VNDK__")
|
||||
ensureListContains(t, cflags, "-D__ANDROID_APEX__")
|
||||
ensureListContains(t, cflags, "-D__ANDROID_PRODUCT__")
|
||||
ensureListNotContains(t, cflags, "-D__ANDROID_VENDOR__")
|
||||
}
|
||||
|
||||
func TestApex_withPrebuiltFirmware(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
|
Reference in New Issue
Block a user