Merge "Add Soong config variable for libgbm build variants" into main
diff --git a/Android.bp b/Android.bp
index ce5977a..9ade3ba 100644
--- a/Android.bp
+++ b/Android.bp
@@ -142,6 +142,16 @@
     srcs: [":minigbm_gralloc0_files"],
 }
 
+generic_cflags = ["-DHAS_DMABUF_SYSTEM_HEAP"]
+intel_cflags = ["-DDRV_I915"]
+meson_cflags = ["-DDRV_MESON"]
+msm_cflags = [
+    "-DDRV_MSM",
+    "-DQCOM_DISABLE_COMPRESSED_NV12",
+    "-DHAS_DMABUF_SYSTEM_HEAP",
+]
+arcvm_cflags = ["-DVIRTIO_GPU_NEXT"]
+
 cc_library {
     name: "libgbm",
     defaults: ["minigbm_defaults"],
@@ -153,6 +163,15 @@
         "gbm_helpers.c",
     ],
 
+    cflags: select(soong_config_variable("minigbm", "platform"), {
+        "generic": generic_cflags,
+        "intel": intel_cflags,
+        "meson": meson_cflags,
+        "msm": msm_cflags,
+        "arcvm": arcvm_cflags,
+        default: [],
+    }),
+
     target: {
         host: {
             // Avoid linking to another host copy of libdrm; this library will cause
@@ -211,7 +230,7 @@
 cc_library_shared {
     name: "libminigbm_gralloc",
     defaults: ["minigbm_cros_gralloc_library_defaults"],
-    cflags: ["-DHAS_DMABUF_SYSTEM_HEAP"],
+    cflags: generic_cflags,
 }
 
 cc_library_shared {
@@ -234,7 +253,7 @@
 cc_library_shared {
     name: "libminigbm_gralloc_intel",
     defaults: ["minigbm_cros_gralloc_library_defaults"],
-    cflags: ["-DDRV_I915"],
+    cflags: intel_cflags,
     enabled: false,
     arch: {
         x86: {
@@ -265,7 +284,7 @@
 cc_library_shared {
     name: "libminigbm_gralloc_meson",
     defaults: ["minigbm_cros_gralloc_library_defaults"],
-    cflags: ["-DDRV_MESON"],
+    cflags: meson_cflags,
 }
 
 cc_library_shared {
@@ -278,11 +297,7 @@
 cc_library_shared {
     name: "libminigbm_gralloc_msm",
     defaults: ["minigbm_cros_gralloc_library_defaults"],
-    cflags: [
-        "-DDRV_MSM",
-        "-DQCOM_DISABLE_COMPRESSED_NV12",
-        "-DHAS_DMABUF_SYSTEM_HEAP",
-    ],
+    cflags: msm_cflags,
 }
 
 cc_library_shared {
@@ -295,7 +310,7 @@
 cc_library_shared {
     name: "libminigbm_gralloc_arcvm",
     defaults: ["minigbm_cros_gralloc_library_defaults"],
-    cflags: ["-DVIRTIO_GPU_NEXT"],
+    cflags: arcvm_cflags,
 }
 
 cc_library_shared {