Merge changes from topic "soong_mesa3d" am: 5dd6a39f35 am: a70f590662 am: 39f6f79f54

Change-Id: Icefe9e8f3ae624295a3e76d98eed1102c2a07588
diff --git a/Android.bp b/Android.bp
index 8df7f38..eaab04e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -162,3 +162,16 @@
         },
     },
 }
+
+genrule {
+    name: "mesa_genxml_genX",
+    cmd: "cp $(in) $(genDir)/genxml/",
+    srcs: [
+        "prebuilt-intermediates/genxml/genX_bits.h",
+        "prebuilt-intermediates/genxml/genX_xml.h",
+    ],
+    out: [
+        "genxml/genX_bits.h",
+        "genxml/genX_xml.h",
+    ],
+}
diff --git a/src/gallium/drivers/iris/Android.mk b/src/gallium/drivers/iris/Android.mk
index 4074f98..281299c 100644
--- a/src/gallium/drivers/iris/Android.mk
+++ b/src/gallium/drivers/iris/Android.mk
@@ -55,7 +55,7 @@
 
 LOCAL_STATIC_LIBRARIES := $(LIBIRIS_STATIC_LIBS)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -75,7 +75,7 @@
 
 LOCAL_STATIC_LIBRARIES := $(LIBIRIS_STATIC_LIBS)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -95,7 +95,7 @@
 
 LOCAL_STATIC_LIBRARIES := $(LIBIRIS_STATIC_LIBS)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -115,7 +115,7 @@
 
 LOCAL_STATIC_LIBRARIES := $(LIBIRIS_STATIC_LIBS)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -159,8 +159,10 @@
 	libmesa_intel_common \
 	libmesa_nir
 
+LOCAL_HEADER_LIBRARIES := \
+	libmesa_genxml
+
 LOCAL_WHOLE_STATIC_LIBRARIES := \
-	libmesa_genxml \
 	libmesa_blorp \
 	libmesa_intel_common \
 	libmesa_intel_compiler \
diff --git a/src/intel/Android.bp b/src/intel/Android.bp
new file mode 100644
index 0000000..447a1d9
--- /dev/null
+++ b/src/intel/Android.bp
@@ -0,0 +1,129 @@
+// Copyright © 2016 Intel Corporation
+// Copyright © 2016 Mauro Rossi <issor.oruam@gmail.com>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+//
+
+genrule_defaults {
+    name: "mesa_genxml_genrule_defaults",
+    tool_files: ["genxml/gen_pack_header.py"],
+    cmd: "python $(location) $(in) >$(out)",
+}
+
+genrule {
+    name: "mesa_genxml_gen4",
+    srcs: ["genxml/gen4.xml"],
+    out: ["genxml/gen4_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen45",
+    srcs: ["genxml/gen45.xml"],
+    out: ["genxml/gen45_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen5",
+    srcs: ["genxml/gen5.xml"],
+    out: ["genxml/gen5_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen6",
+    srcs: ["genxml/gen6.xml"],
+    out: ["genxml/gen6_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen7",
+    srcs: ["genxml/gen7.xml"],
+    out: ["genxml/gen7_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen75",
+    srcs: ["genxml/gen75.xml"],
+    out: ["genxml/gen75_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen8",
+    srcs: ["genxml/gen8.xml"],
+    out: ["genxml/gen8_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen9",
+    srcs: ["genxml/gen9.xml"],
+    out: ["genxml/gen9_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen10",
+    srcs: ["genxml/gen10.xml"],
+    out: ["genxml/gen10_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+genrule {
+    name: "mesa_genxml_gen11",
+    srcs: ["genxml/gen11.xml"],
+    out: ["genxml/gen11_pack.h"],
+    defaults: ["mesa_genxml_genrule_defaults"],
+}
+
+cc_library_headers {
+    name: "libmesa_genxml",
+    defaults: ["mesa_common_defaults"],
+    generated_headers: [
+        "mesa_genxml_genX",
+        "mesa_genxml_gen4",
+        "mesa_genxml_gen45",
+        "mesa_genxml_gen5",
+        "mesa_genxml_gen6",
+        "mesa_genxml_gen7",
+        "mesa_genxml_gen75",
+        "mesa_genxml_gen8",
+        "mesa_genxml_gen9",
+        "mesa_genxml_gen10",
+        "mesa_genxml_gen11",
+    ],
+    export_generated_headers: [
+        "mesa_genxml_genX",
+        "mesa_genxml_gen4",
+        "mesa_genxml_gen45",
+        "mesa_genxml_gen5",
+        "mesa_genxml_gen6",
+        "mesa_genxml_gen7",
+        "mesa_genxml_gen75",
+        "mesa_genxml_gen8",
+        "mesa_genxml_gen9",
+        "mesa_genxml_gen10",
+        "mesa_genxml_gen11",
+    ],
+    export_include_dirs: ["."],
+}
\ No newline at end of file
diff --git a/src/intel/Android.common.mk b/src/intel/Android.common.mk
index 245ba07..eb15f5e 100644
--- a/src/intel/Android.common.mk
+++ b/src/intel/Android.common.mk
@@ -49,7 +49,7 @@
 	libexpat
 endif
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
diff --git a/src/intel/Android.compiler.mk b/src/intel/Android.compiler.mk
index a8fa458..91c2101 100644
--- a/src/intel/Android.compiler.mk
+++ b/src/intel/Android.compiler.mk
@@ -53,7 +53,7 @@
 	@mkdir -p $(dir $@)
 	@cp -f $< $@
 
-LOCAL_STATIC_LIBRARIES = libmesa_genxml
+LOCAL_HEADER_LIBRARIES = libmesa_genxml
 
 LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
 	$(COMPILER_GENERATED_FILES))
diff --git a/src/intel/Android.genxml.mk b/src/intel/Android.genxml.mk
deleted file mode 100644
index 0a0c2ff..0000000
--- a/src/intel/Android.genxml.mk
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright © 2016 Intel Corporation
-# Copyright © 2016 Mauro Rossi <issor.oruam@gmail.com>
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-
-# ---------------------------------------
-# Build libmesa_genxml
-# ---------------------------------------
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libmesa_genxml
-
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-intermediates := $(call local-generated-sources-dir)
-prebuilt_intermediates := $(MESA_TOP)/prebuilt-intermediates
-
-# dummy.c source file is generated to meet the build system's rules.
-LOCAL_GENERATED_SOURCES += $(intermediates)/dummy.c
-
-$(intermediates)/dummy.c:
-	@mkdir -p $(dir $@)
-	@echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
-	$(hide) touch $@
-
-# This is the list of auto-generated files headers
-LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, $(GENXML_GENERATED_FILES))
-
-define header-gen
-	@mkdir -p $(dir $@)
-	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
-	$(hide) $(PRIVATE_SCRIPT) $(PRIVATE_SCRIPT_FLAGS) $(PRIVATE_XML) > $@
-endef
-
-$(intermediates)/genxml/genX_bits.h: $(prebuilt_intermediates)/genxml/genX_bits.h
-	@mkdir -p $(dir $@)
-	@cp -f $< $@
-
-$(intermediates)/genxml/gen4_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen4_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen4.xml
-$(intermediates)/genxml/gen4_pack.h: $(LOCAL_PATH)/genxml/gen4.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen45_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen45_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen45.xml
-$(intermediates)/genxml/gen45_pack.h: $(LOCAL_PATH)/genxml/gen45.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen5_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen5_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen5.xml
-$(intermediates)/genxml/gen5_pack.h: $(LOCAL_PATH)/genxml/gen5.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen6_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen6_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen6.xml
-$(intermediates)/genxml/gen6_pack.h: $(LOCAL_PATH)/genxml/gen6.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen7_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen7_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen7.xml
-$(intermediates)/genxml/gen7_pack.h: $(LOCAL_PATH)/genxml/gen7.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen75_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen75_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen75.xml
-$(intermediates)/genxml/gen75_pack.h: $(LOCAL_PATH)/genxml/gen75.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen8_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen8_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen8.xml
-$(intermediates)/genxml/gen8_pack.h: $(LOCAL_PATH)/genxml/gen8.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen9_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen9_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen9.xml
-$(intermediates)/genxml/gen9_pack.h: $(LOCAL_PATH)/genxml/gen9.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen10_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen10_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen10.xml
-$(intermediates)/genxml/gen10_pack.h: $(LOCAL_PATH)/genxml/gen10.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/gen11_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
-$(intermediates)/genxml/gen11_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen11.xml
-$(intermediates)/genxml/gen11_pack.h: $(LOCAL_PATH)/genxml/gen11.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
-	$(call header-gen)
-
-$(intermediates)/genxml/genX_xml.h: $(prebuilt_intermediates)/genxml/genX_xml.h
-	@mkdir -p $(dir $@)
-	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
-	@cp -f $< $@
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
-	$(MESA_TOP)/src/intel \
-	$(intermediates)
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/src/intel/Android.isl.mk b/src/intel/Android.isl.mk
index 0d31711..eb533d0 100644
--- a/src/intel/Android.isl.mk
+++ b/src/intel/Android.isl.mk
@@ -41,7 +41,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -60,7 +60,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -79,7 +79,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -98,7 +98,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -117,7 +117,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -136,7 +136,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -155,7 +155,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -174,7 +174,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -193,7 +193,7 @@
 
 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -258,6 +258,9 @@
 
 LOCAL_EXPORT_C_INCLUDE_DIRS := $(MESA_TOP)/src/intel
 
+LOCAL_HEADER_LIBRARIES := \
+	libmesa_genxml
+
 LOCAL_WHOLE_STATIC_LIBRARIES := \
 	libmesa_isl_gen4 \
 	libmesa_isl_gen5 \
@@ -268,7 +271,6 @@
 	libmesa_isl_gen9 \
 	libmesa_isl_gen10 \
 	libmesa_isl_gen11 \
-	libmesa_genxml \
 	libmesa_isl_tiled_memcpy
 
 ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
diff --git a/src/intel/Android.mk b/src/intel/Android.mk
index 9649814..32d1712 100644
--- a/src/intel/Android.mk
+++ b/src/intel/Android.mk
@@ -29,7 +29,6 @@
 include $(LOCAL_PATH)/Android.common.mk
 include $(LOCAL_PATH)/Android.compiler.mk
 include $(LOCAL_PATH)/Android.dev.mk
-include $(LOCAL_PATH)/Android.genxml.mk
 include $(LOCAL_PATH)/Android.isl.mk
 include $(LOCAL_PATH)/Android.perf.mk
 include $(LOCAL_PATH)/Android.vulkan.mk
diff --git a/src/intel/Android.vulkan.mk b/src/intel/Android.vulkan.mk
index 071462c..0d48064 100644
--- a/src/intel/Android.vulkan.mk
+++ b/src/intel/Android.vulkan.mk
@@ -123,12 +123,13 @@
 
 LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints
 
 LOCAL_HEADER_LIBRARIES := $(ANV_HEADER_LIBRARIES)
 LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -146,12 +147,13 @@
 
 LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints
 
 LOCAL_HEADER_LIBRARIES := $(ANV_HEADER_LIBRARIES)
 LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -169,12 +171,13 @@
 
 LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints
 
 LOCAL_HEADER_LIBRARIES := $(ANV_HEADER_LIBRARIES)
 LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -192,12 +195,13 @@
 
 LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints
 
 LOCAL_HEADER_LIBRARIES := $(ANV_HEADER_LIBRARIES)
 LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -215,12 +219,13 @@
 
 LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints
 
 LOCAL_HEADER_LIBRARIES := $(ANV_HEADER_LIBRARIES)
 LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -238,10 +243,11 @@
 
 LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -265,7 +271,6 @@
 
 LOCAL_WHOLE_STATIC_LIBRARIES := \
 	libmesa_anv_entrypoints \
-	libmesa_genxml \
 	libmesa_git_sha1 \
 	libmesa_vulkan_util
 
@@ -290,6 +295,7 @@
 LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
 LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += libmesa_genxml
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk
index 29b4614..d937046 100644
--- a/src/mesa/drivers/dri/i965/Android.mk
+++ b/src/mesa/drivers/dri/i965/Android.mk
@@ -36,7 +36,6 @@
 	$(MESA_DRI_SHARED_LIBRARIES)
 
 I965_PERGEN_STATIC_LIBRARIES := \
-	libmesa_genxml \
 	libmesa_nir
 
 I965_PERGEN_LIBS := \
@@ -65,6 +64,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=40
@@ -86,6 +86,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=45
@@ -107,6 +108,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=50
@@ -128,6 +130,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=60
@@ -149,6 +152,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=70
@@ -170,6 +174,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=75
@@ -191,6 +196,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=80
@@ -212,6 +218,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=90
@@ -233,6 +240,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=100
@@ -254,6 +262,7 @@
 
 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
 
+LOCAL_HEADER_LIBRARIES := libmesa_genxml
 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
 
 LOCAL_CFLAGS := -DGEN_VERSIONx10=110