[Mesa-dev] [PATCH] android: vulkan/util: fix generating vk_enum_to_str.*

Lionel Landwerlin lionel.g.landwerlin at intel.com
Fri Jul 5 09:19:47 UTC 2019


Thanks this looks good to me : Reviewed-by: Lionel Landwerlin 
<lionel.g.landwerlin at intel.com>

On 05/07/2019 11:52, Chih-Wei Huang wrote:
> 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 <cwhuang at linux.org.tw>
> ---
>   src/vulkan/Android.mk | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/vulkan/Android.mk b/src/vulkan/Android.mk
> index c3230d8..71aa5e5 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),)




More information about the mesa-dev mailing list