Include VNDK snapshot modules only if the arch matches

If the target_arch for the snapshot module does not match with
the build variable TARGET_ARCH, hide the module from the make file.

Bug: 71787263
Test: Install VNDK snapshot v27
      lunch aosp_arm64_ab-userdebug; m vndk_v27_arm64
      - vndk libs must be installed
      m vndk_v27_arm
      - no vndk libs must be installed because target does not match

Change-Id: I32ab5004832a4164e1b2c056ad149ede50828b92
This commit is contained in:
Justin Yun 2018-01-11 14:49:01 +09:00
parent 64946fec54
commit 74c3f5c9d1
1 changed files with 6 additions and 1 deletions

View File

@ -1442,12 +1442,17 @@ func vendorMutator(mctx android.BottomUpMutatorContext) {
mod := mctx.CreateVariations(vendorMode)
vendor := mod[0].(*Module)
vendor.Properties.UseVndk = true
} else if _, ok := m.linker.(*vndkPrebuiltLibraryDecorator); ok {
} else if prebuilt, ok := m.linker.(*vndkPrebuiltLibraryDecorator); ok {
// Make vendor variants only for the versions in BOARD_VNDK_VERSION and
// PRODUCT_EXTRA_VNDK_VERSIONS.
mod := mctx.CreateVariations(vendorMode)
vendor := mod[0].(*Module)
vendor.Properties.UseVndk = true
arches := mctx.DeviceConfig().Arches()
if len(arches) == 0 || arches[0].ArchType.String() != prebuilt.arch() {
vendor.Properties.PreventInstall = true
vendor.Properties.HideFromMake = true
}
} else if m.hasVendorVariant() {
// This will be available in both /system and /vendor
// or a /system directory that is available to vendor.