From 77b0da0cd30fb3662347ef48e7e91d94953678ce Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Fri, 10 May 2019 18:55:54 +0100 Subject: [PATCH] vulkan: fix build dependency issue with generated files On machines with many cores, you can run into that issue : ../mesa-9999/src/vulkan/overlay-layer/overlay.cpp:42:10: fatal error: vk_enum_to_str.h: No such file or directory v2: Move declare_dependency around (Eric) Signed-off-by: Lionel Landwerlin Reported-by: Jan Ziak Cc: Reviewed-by: Eric Engestrom Rebased by Dylan Conflicts: src/amd/vulkan/meson.build src/freedreno/vulkan/meson.build src/intel/vulkan/meson.build src/vulkan/overlay-layer/meson.build src/vulkan/wsi/meson.build --- src/amd/vulkan/meson.build | 8 +++----- src/intel/vulkan/meson.build | 28 ++++++++++++++-------------- src/vulkan/meson.build | 1 - src/vulkan/util/meson.build | 12 ++++++++++++ src/vulkan/wsi/meson.build | 4 ++-- 5 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build index 06c33ca45dc..ba43bee3cd9 100644 --- a/src/amd/vulkan/meson.build +++ b/src/amd/vulkan/meson.build @@ -132,17 +132,15 @@ libvulkan_radeon = shared_library( 'vulkan_radeon', [libradv_files, radv_entrypoints, radv_extensions_c, vk_format_table_c, sha1_h], include_directories : [ - inc_common, inc_amd, inc_amd_common, inc_compiler, inc_vulkan_util, - inc_vulkan_wsi, + inc_common, inc_amd, inc_amd_common, inc_compiler, inc_vulkan_wsi, ], link_with : [ - libamd_common, libamdgpu_addrlib, libvulkan_util, libvulkan_wsi, - libmesa_util, + libamd_common, libamdgpu_addrlib, libvulkan_wsi, libmesa_util, ], dependencies : [ dep_llvm, dep_libdrm_amdgpu, dep_thread, dep_elf, dep_dl, dep_m, dep_valgrind, radv_deps, - idep_nir, + idep_nir, idep_vulkan_util, ], c_args : [c_vis_args, no_override_init_args, radv_flags], cpp_args : [cpp_vis_args, radv_flags], diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build index af1223ad3b9..9adf6d95877 100644 --- a/src/intel/vulkan/meson.build +++ b/src/intel/vulkan/meson.build @@ -98,14 +98,15 @@ foreach g : [['70', ['gen7_cmd_buffer.c']], ['75', ['gen7_cmd_buffer.c']], 'anv_gen@0@'.format(_gen), [anv_gen_files, g[1], anv_entrypoints[0], anv_extensions_h], include_directories : [ - inc_common, inc_compiler, inc_drm_uapi, inc_intel, inc_vulkan_util, - inc_vulkan_wsi, + inc_common, inc_compiler, inc_drm_uapi, inc_intel, inc_vulkan_wsi, ], c_args : [ c_vis_args, no_override_init_args, c_sse2_args, '-DGEN_VERSIONx10=@0@'.format(_gen), ], - dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml], + dependencies : [ + dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml, idep_vulkan_util_headers, + ], ) endforeach @@ -144,6 +145,7 @@ anv_deps = [ dep_libdrm, dep_valgrind, idep_nir_headers, + idep_vulkan_util_headers, ] anv_flags = [ c_vis_args, @@ -183,7 +185,7 @@ libanv_common = static_library( gen_xml_pack, ], include_directories : [ - inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_util, + inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_wsi, ], c_args : anv_flags, @@ -194,16 +196,15 @@ libvulkan_intel = shared_library( 'vulkan_intel', [files('anv_gem.c'), anv_entrypoints[0], anv_extensions_h], include_directories : [ - inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_util, - inc_vulkan_wsi, + inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_wsi, ], link_whole : [libanv_common, libanv_gen_libs], link_with : [ libintel_compiler, libintel_common, libintel_dev, libisl, libblorp, - libvulkan_util, libvulkan_wsi, libmesa_util, + libvulkan_wsi, libmesa_util, ], dependencies : [ - dep_thread, dep_dl, dep_m, anv_deps, idep_nir, idep_genxml, + dep_thread, dep_dl, dep_m, anv_deps, idep_nir, idep_genxml, idep_vulkan_util ], c_args : anv_flags, link_args : ['-Wl,--build-id=sha1', ld_args_bsymbolic, ld_args_gc_sections], @@ -215,16 +216,15 @@ if with_tests 'vulkan_intel_test', [files('anv_gem_stubs.c'), anv_entrypoints[0], anv_extensions_h], include_directories : [ - inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_util, - inc_vulkan_wsi, + inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_wsi, ], link_whole : libanv_common, link_with : [ libanv_gen_libs, libintel_compiler, libintel_common, libintel_dev, - libisl, libblorp, libvulkan_util, libvulkan_wsi, libmesa_util, + libisl, libblorp, libvulkan_wsi, libmesa_util, ], dependencies : [ - dep_thread, dep_dl, dep_m, anv_deps, idep_nir, + dep_thread, dep_dl, dep_m, anv_deps, idep_nir, idep_vulkan_util ], c_args : anv_flags, ) @@ -239,9 +239,9 @@ if with_tests ['tests/@0@.c'.format(t), anv_entrypoints[0], anv_extensions_h], c_args : [ c_sse2_args ], link_with : libvulkan_intel_test, - dependencies : [dep_libdrm, dep_thread, dep_m, dep_valgrind], + dependencies : [dep_libdrm, dep_thread, dep_m, dep_valgrind, idep_vulkan_util, ], include_directories : [ - inc_common, inc_intel, inc_compiler, inc_vulkan_util, inc_vulkan_wsi, + inc_common, inc_intel, inc_compiler, inc_vulkan_wsi, ], ), suite : ['intel'], diff --git a/src/vulkan/meson.build b/src/vulkan/meson.build index 59e1fd1fabe..d123750c73c 100644 --- a/src/vulkan/meson.build +++ b/src/vulkan/meson.build @@ -20,7 +20,6 @@ vk_api_xml = files('registry/vk.xml') -inc_vulkan_util = include_directories('util') inc_vulkan_wsi = include_directories('wsi') subdir('util') diff --git a/src/vulkan/util/meson.build b/src/vulkan/util/meson.build index 15e4ff49129..e869056acd2 100644 --- a/src/vulkan/util/meson.build +++ b/src/vulkan/util/meson.build @@ -43,3 +43,15 @@ libvulkan_util = static_library( c_args : [c_vis_args], build_by_default : false, ) + +idep_vulkan_util_headers = declare_dependency( + sources : vk_enum_to_str[1], + include_directories : include_directories('.') +) + +idep_vulkan_util = declare_dependency( + sources : vk_enum_to_str[1], + link_with : libvulkan_util, + include_directories : include_directories('.'), + dependencies : idep_vulkan_util_headers +) diff --git a/src/vulkan/wsi/meson.build b/src/vulkan/wsi/meson.build index e9812b663e4..106509502ab 100644 --- a/src/vulkan/wsi/meson.build +++ b/src/vulkan/wsi/meson.build @@ -62,8 +62,8 @@ endif libvulkan_wsi = static_library( 'vulkan_wsi', files_vulkan_wsi, - include_directories : [inc_common, inc_vulkan_util, inc_drm_uapi], - dependencies : [vulkan_wsi_deps, dep_libdrm], + include_directories : [inc_common, inc_drm_uapi], + dependencies : [vulkan_wsi_deps, dep_libdrm, idep_vulkan_util], c_args : [c_vis_args, vulkan_wsi_args], build_by_default : false, )