Add fsverity/compos only for 64-bit images

Because AVF is shipped only on 64-bit devices.

Bug: 381019944
Test: TH
Change-Id: Icbf4656f9b830e6254024558e96fc3c5dae6113c
diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk
index b30e025..4be8f24 100644
--- a/core/android_soong_config_vars.mk
+++ b/core/android_soong_config_vars.mk
@@ -42,6 +42,7 @@
 $(call soong_config_set_bool,ANDROID,TARGET_SUPPORTS_32_BIT_APPS,$(if $(filter true,$(TARGET_SUPPORTS_32_BIT_APPS)),true,false))
 $(call soong_config_set_bool,ANDROID,TARGET_SUPPORTS_64_BIT_APPS,$(if $(filter true,$(TARGET_SUPPORTS_64_BIT_APPS)),true,false))
 $(call add_soong_config_var,ANDROID,BOARD_GENFS_LABELS_VERSION)
+$(call soong_config_set_bool,ANDROID,PRODUCT_FSVERITY_GENERATE_METADATA,$(if $(filter true,$(PRODUCT_FSVERITY_GENERATE_METADATA)),true,false))
 
 $(call add_soong_config_var,ANDROID,ADDITIONAL_M4DEFS,$(if $(BOARD_SEPOLICY_M4DEFS),$(addprefix -D,$(BOARD_SEPOLICY_M4DEFS))))
 
diff --git a/target/product/generic/Android.bp b/target/product/generic/Android.bp
index 314816d..978d3b1 100644
--- a/target/product/generic/Android.bp
+++ b/target/product/generic/Android.bp
@@ -416,6 +416,19 @@
     }),
 }
 
+system_image_fsverity_default = {
+    inputs: [
+        "etc/boot-image.prof",
+        "etc/classpaths/*.pb",
+        "etc/dirty-image-objects",
+        "etc/preloaded-classes",
+        "framework/*",
+        "framework/*/*", // framework/{arch}
+        "framework/oat/*/*", // framework/oat/{arch}
+    ],
+    libs: [":framework-res{.export-package.apk}"],
+}
+
 android_filesystem_defaults {
     name: "system_image_defaults",
     partition_name: "system",
@@ -428,16 +441,22 @@
         linker_config_srcs: [":system_linker_config_json_file"],
     },
     fsverity: {
-        inputs: [
-            "etc/boot-image.prof",
-            "etc/classpaths/*.pb",
-            "etc/dirty-image-objects",
-            "etc/preloaded-classes",
-            "framework/*",
-            "framework/*/*", // framework/{arch}
-            "framework/oat/*/*", // framework/oat/{arch}
-        ],
-        libs: [":framework-res{.export-package.apk}"],
+        inputs: select(soong_config_variable("ANDROID", "PRODUCT_FSVERITY_GENERATE_METADATA"), {
+            true: [
+                "etc/boot-image.prof",
+                "etc/classpaths/*.pb",
+                "etc/dirty-image-objects",
+                "etc/preloaded-classes",
+                "framework/*",
+                "framework/*/*", // framework/{arch}
+                "framework/oat/*/*", // framework/oat/{arch}
+            ],
+            default: [],
+        }),
+        libs: select(soong_config_variable("ANDROID", "PRODUCT_FSVERITY_GENERATE_METADATA"), {
+            true: [":framework-res{.export-package.apk}"],
+            default: [],
+        }),
     },
     build_logtags: true,
     gen_aconfig_flags_pb: true,
diff --git a/target/product/gsi/Android.bp b/target/product/gsi/Android.bp
index c6fc021..a119832 100644
--- a/target/product/gsi/Android.bp
+++ b/target/product/gsi/Android.bp
@@ -130,12 +130,6 @@
         "com.android.vndk.v34",
 
         ///////////////////////////////////////////
-        // AVF
-        ///////////////////////////////////////////
-        "com.android.compos",
-        "features_com.android.virt.xml",
-
-        ///////////////////////////////////////////
         // gsi_product
         ///////////////////////////////////////////
         "Browser2",
@@ -145,6 +139,15 @@
         "apns-full-conf.xml",
     ],
     multilib: {
+        lib64: {
+            deps: [
+                ///////////////////////////////////////////
+                // AVF
+                ///////////////////////////////////////////
+                "com.android.compos",
+                "features_com.android.virt.xml",
+            ],
+        },
         both: {
             // PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34
             deps: ["android.hidl.memory@1.0-impl"],