[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