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
diff --git a/cc/cc.go b/cc/cc.go
index e5a483d..a3af304 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1442,12 +1442,17 @@
 		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.