summaryrefslogtreecommitdiffstats
path: root/src/vulkan
diff options
context:
space:
mode:
authorChih-Wei Huang <[email protected]>2019-07-05 16:35:19 +0800
committerMauro Rossi <[email protected]>2019-07-10 08:56:37 +0200
commit4dc129e4f465ac7a22c88aebf1fd3fcef87c8376 (patch)
tree5b0d99b6ed96c8d4476194463d1a5e1303e26219 /src/vulkan
parenta74285def252076ac49daa4e4333735bca034f01 (diff)
android: vulkan/util: fix generating vk_enum_to_str.*
The gen_enum_to_str.py generates vk_enum_to_str.c and its header at once. However, the makefiles incorrectly list both files parallel with the same recipes. That means both two files may be generated simultaneously by two processes. The generating files may be truncated by another process, as shown below: $ cd $OUT/obj/STATIC_LIBRARIES/libmesa_vulkan_util_intermediates/util $ ls -l -rw-rw-r-- 1 lh lh 193713 Jul 5 13:31 vk_enum_to_str.c -rw-rw-r-- 1 lh lh 4609 Jul 5 13:31 vk_enum_to_str.d -rw-rw-r-- 1 lh lh 0 Jul 5 16:21 vk_enum_to_str.h Let one file depends on the other with empty recipe to avoid the issue. Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
Diffstat (limited to 'src/vulkan')
-rw-r--r--src/vulkan/Android.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vulkan/Android.mk b/src/vulkan/Android.mk
index c3230d8288f..71aa5e5f0bd 100644
--- a/src/vulkan/Android.mk
+++ b/src/vulkan/Android.mk
@@ -54,14 +54,16 @@ LOCAL_SRC_FILES := $(VULKAN_UTIL_FILES) $(VULKAN_WSI_FILES)
vulkan_api_xml = $(MESA_TOP)/src/vulkan/registry/vk.xml
-$(LOCAL_GENERATED_SOURCES): $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py \
+$(firstword $(LOCAL_GENERATED_SOURCES)): $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py \
$(vulkan_api_xml)
@echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
@mkdir -p $(dir $@)
- $(hide) $(MESA_PYTHON2) $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py \
+ $(hide) $(MESA_PYTHON2) $< \
--xml $(vulkan_api_xml) \
--outdir $(dir $@)
+$(lastword $(LOCAL_GENERATED_SOURCES)): $(firstword $(LOCAL_GENERATED_SOURCES))
+
LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)/util
ifeq ($(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5 6 7),)