Module: Mesa
Branch: main
Commit: fbd644c59d9868fd8417d5ab32912e893fab9c1b
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbd644c59d9868fd8417d5ab32912e893fab9c1b

Author: Eric Engestrom <[email protected]>
Date:   Thu Nov  3 10:13:16 2022 +0000

meson: replace vk_wsi_args with dependencies to let meson take care of 
transitivity

Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Yonggang Luo <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19497>

---

 src/amd/vulkan/meson.build                 | 2 +-
 src/egl/meson.build                        | 4 +---
 src/freedreno/vulkan/meson.build           | 2 +-
 src/gallium/drivers/zink/meson.build       | 4 ++--
 src/gallium/frontends/dri/meson.build      | 4 +++-
 src/gallium/frontends/lavapipe/meson.build | 2 +-
 src/gallium/frontends/wgl/meson.build      | 5 +++--
 src/gbm/meson.build                        | 1 +
 src/glx/meson.build                        | 3 +--
 src/imagination/vulkan/meson.build         | 1 -
 src/intel/vulkan/meson.build               | 1 -
 src/intel/vulkan_hasvk/meson.build         | 1 -
 src/microsoft/vulkan/meson.build           | 2 +-
 src/panfrost/vulkan/meson.build            | 2 +-
 src/virtio/vulkan/meson.build              | 1 -
 src/vulkan/device-select-layer/meson.build | 2 +-
 src/vulkan/meson.build                     | 5 ++++-
 src/vulkan/runtime/meson.build             | 2 +-
 src/vulkan/wsi/meson.build                 | 3 +--
 19 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build
index b8bb3f8a49c..ea449a5150b 100644
--- a/src/amd/vulkan/meson.build
+++ b/src/amd/vulkan/meson.build
@@ -196,7 +196,7 @@ libvulkan_radeon = shared_library(
     idep_vulkan_runtime, idep_amdgfxregs_h, idep_xmlconfig,
     idep_vulkan_common_entrypoints_h, idep_vulkan_wsi_entrypoints_h
   ],
-  c_args : [no_override_init_args, vk_wsi_args, radv_flags, 
c_msvc_compat_args],
+  c_args : [no_override_init_args, radv_flags, c_msvc_compat_args],
   cpp_args : [radv_flags, cpp_msvc_compat_args],
   link_args : [
     ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections, 
libvulkan_radeon_ld_args,
diff --git a/src/egl/meson.build b/src/egl/meson.build
index 95d64c3e3a9..0a351bb687d 100644
--- a/src/egl/meson.build
+++ b/src/egl/meson.build
@@ -95,6 +95,7 @@ if with_dri2
   )
   files_egl += sha1_h
   deps_for_egl += idep_xmlconfig
+  deps_for_egl += idep_vulkan_wsi_defines
   link_for_egl += libloader
   incs_for_egl += inc_loader
   incs_for_egl += inc_gallium
@@ -107,9 +108,6 @@ if with_dri2
     'drivers/dri2/platform_surfaceless.c',
   )
 
-  c_args_for_egl += vk_wsi_args
-  cpp_args_for_egl += vk_wsi_args
-
   if with_platform_x11
     files_egl += files('drivers/dri2/platform_x11.c')
     if with_dri3
diff --git a/src/freedreno/vulkan/meson.build b/src/freedreno/vulkan/meson.build
index 34534bc9621..421c2ffca49 100644
--- a/src/freedreno/vulkan/meson.build
+++ b/src/freedreno/vulkan/meson.build
@@ -127,7 +127,7 @@ libvulkan_freedreno = shared_library(
     idep_vulkan_wsi,
     idep_mesautil,
   ],
-  c_args : [no_override_init_args, tu_flags, vk_wsi_args],
+  c_args : [no_override_init_args, tu_flags],
   gnu_symbol_visibility : 'hidden',
   link_args : [ld_args_bsymbolic, ld_args_gc_sections, ld_args_build_id],
   install : true,
diff --git a/src/gallium/drivers/zink/meson.build 
b/src/gallium/drivers/zink/meson.build
index b44cdb985d5..b976b30988b 100644
--- a/src/gallium/drivers/zink/meson.build
+++ b/src/gallium/drivers/zink/meson.build
@@ -98,9 +98,9 @@ libzink = static_library(
   link_args : [ld_args_build_id],
   dependencies: [
     idep_nir_headers, idep_mesautil, idep_vulkan_util_headers,
-    idep_vulkan_util, dep_libdrm
+    idep_vulkan_wsi_defines, idep_vulkan_util, dep_libdrm
   ],
-  c_args: [zink_c_args, vk_wsi_args],
+  c_args: zink_c_args,
 )
 
 driver_zink = declare_dependency(
diff --git a/src/gallium/frontends/dri/meson.build 
b/src/gallium/frontends/dri/meson.build
index 04aafb2f378..6009322edd9 100644
--- a/src/gallium/frontends/dri/meson.build
+++ b/src/gallium/frontends/dri/meson.build
@@ -19,6 +19,7 @@
 # SOFTWARE.
 
 inc_st_dri = include_directories('.')
+deps_for_libdri = []
 
 files_libdri = files(
   'dri_context.c',
@@ -51,7 +52,7 @@ if with_gallium_zink and not with_platform_android
     libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL and libGLX"'
   endif
   files_libdri += files('kopper.c')
-  libdri_c_args += vk_wsi_args
+  deps_for_libdri += idep_vulkan_wsi_defines
 endif
 
 if with_gallium_softpipe
@@ -70,6 +71,7 @@ libdri = static_library(
   dependencies : [
     dep_libdrm,
     idep_mesautil,
+    deps_for_libdri,
   ],
 )
 
diff --git a/src/gallium/frontends/lavapipe/meson.build 
b/src/gallium/frontends/lavapipe/meson.build
index 2ed4abfe4b6..0444093fc07 100644
--- a/src/gallium/frontends/lavapipe/meson.build
+++ b/src/gallium/frontends/lavapipe/meson.build
@@ -42,7 +42,7 @@ endif
 liblavapipe_st = static_library(
   'lavapipe_st',
   [liblvp_files, lvp_entrypoints, sha1_h],
-  c_args : [ c_msvc_compat_args, lvp_flags, vk_wsi_args],
+  c_args : [ c_msvc_compat_args, lvp_flags],
   gnu_symbol_visibility : 'hidden',
   include_directories : [ inc_include, inc_src, inc_util, inc_gallium, 
inc_compiler, inc_gallium_aux ],
   dependencies : [ dep_llvm, idep_nir, idep_mesautil, idep_vulkan_util, 
idep_vulkan_wsi,
diff --git a/src/gallium/frontends/wgl/meson.build 
b/src/gallium/frontends/wgl/meson.build
index 5423c5872a6..76ecf987363 100644
--- a/src/gallium/frontends/wgl/meson.build
+++ b/src/gallium/frontends/wgl/meson.build
@@ -25,8 +25,9 @@ if not with_shared_glapi
   _c_args_wgl += '-D_GLAPI_NO_EXPORTS'
 endif
 
+_wgl_deps = [idep_xmlconfig, driver_zink]
 if with_gallium_zink
-  _c_args_wgl += vk_wsi_args
+  _wgl_deps += idep_vulkan_wsi_defines
 endif
 
 files_libwgl = files(
@@ -63,5 +64,5 @@ libwgl = static_library(
   include_directories : [
     inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa,
   ],
-  dependencies : [idep_xmlconfig, driver_zink],
+  dependencies : _wgl_deps,
 )
diff --git a/src/gbm/meson.build b/src/gbm/meson.build
index df65361aef7..2fb013a9d60 100644
--- a/src/gbm/meson.build
+++ b/src/gbm/meson.build
@@ -39,6 +39,7 @@ incs_gbm = [
 if with_dri2
   files_gbm += files('backends/dri/gbm_dri.c', 'backends/dri/gbm_driint.h')
   deps_gbm += dep_libdrm # TODO: pthread-stubs
+  deps_gbm += idep_vulkan_wsi_defines
 endif
 if with_platform_wayland
   deps_gbm += dep_wayland_server
diff --git a/src/glx/meson.build b/src/glx/meson.build
index 60ae7d436fc..0d0cc98e4a5 100644
--- a/src/glx/meson.build
+++ b/src/glx/meson.build
@@ -128,7 +128,6 @@ libglx = static_library(
   include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, 
inc_gallium, inc_gallium_aux, inc_glapi, inc_loader],
   c_args : [
     '-DGL_LIB_NAME="lib@[email protected].@1@"'.format(gl_lib_name, 
gl_lib_version.split('.')[0]),
-    vk_wsi_args
   ],
   gnu_symbol_visibility : 'hidden',
   link_with : [
@@ -136,7 +135,7 @@ libglx = static_library(
     extra_libs_libglx,
   ],
   dependencies : [
-    idep_mesautil, idep_xmlconfig,
+    idep_mesautil, idep_xmlconfig, idep_vulkan_wsi_defines,
     dep_libdrm, dep_dri2proto, dep_glproto, dep_x11, dep_glvnd, dep_xxf86vm, 
dep_xshmfence
   ],
 )
diff --git a/src/imagination/vulkan/meson.build 
b/src/imagination/vulkan/meson.build
index 3e39b155593..ba4538239fe 100644
--- a/src/imagination/vulkan/meson.build
+++ b/src/imagination/vulkan/meson.build
@@ -83,7 +83,6 @@ pvr_deps = [
 
 pvr_flags = [
   no_override_init_args,
-  vk_wsi_args,
 ]
 
 if with_imagination_srv
diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
index a27e5db40ac..1886ea0904a 100644
--- a/src/intel/vulkan/meson.build
+++ b/src/intel/vulkan/meson.build
@@ -25,7 +25,6 @@ inc_anv = include_directories('.')
 anv_flags = [
   no_override_init_args,
   c_sse2_args,
-  vk_wsi_args,
 ]
 
 anv_cpp_flags = []
diff --git a/src/intel/vulkan_hasvk/meson.build 
b/src/intel/vulkan_hasvk/meson.build
index fbcfbb0a355..0d53080a2f0 100644
--- a/src/intel/vulkan_hasvk/meson.build
+++ b/src/intel/vulkan_hasvk/meson.build
@@ -139,7 +139,6 @@ anv_deps = [
 anv_flags = [
   no_override_init_args,
   c_sse2_args,
-  vk_wsi_args,
 ]
 
 anv_cpp_flags = []
diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build
index 64d8c2f1856..998f0d06b15 100644
--- a/src/microsoft/vulkan/meson.build
+++ b/src/microsoft/vulkan/meson.build
@@ -85,7 +85,7 @@ libvulkan_dzn = shared_library(
     inc_compiler, inc_util
   ],
   dependencies : [dzn_deps, idep_vulkan_wsi, idep_xmlconfig],
-  c_args : [dzn_flags, vk_wsi_args],
+  c_args : dzn_flags,
   cpp_args : dzn_cpp_flags,
   gnu_symbol_visibility : 'hidden',
   link_args : [ld_args_bsymbolic, ld_args_gc_sections],
diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build
index 8629627f8c8..8d7cc5e2b11 100644
--- a/src/panfrost/vulkan/meson.build
+++ b/src/panfrost/vulkan/meson.build
@@ -134,7 +134,7 @@ libvulkan_panfrost = shared_library(
     idep_vulkan_wsi,
     idep_mesautil,
   ],
-  c_args : [no_override_init_args, panvk_flags, vk_wsi_args],
+  c_args : [no_override_init_args, panvk_flags],
   link_args : [ld_args_bsymbolic, ld_args_gc_sections],
   install : true,
 )
diff --git a/src/virtio/vulkan/meson.build b/src/virtio/vulkan/meson.build
index e360e80cd73..3f9456a146b 100644
--- a/src/virtio/vulkan/meson.build
+++ b/src/virtio/vulkan/meson.build
@@ -82,7 +82,6 @@ vn_deps = [
 
 vn_flags = [
   no_override_init_args,
-  vk_wsi_args,
 ]
 
 vn_libs = []
diff --git a/src/vulkan/device-select-layer/meson.build 
b/src/vulkan/device-select-layer/meson.build
index 257b8708adf..4a2228eedfc 100644
--- a/src/vulkan/device-select-layer/meson.build
+++ b/src/vulkan/device-select-layer/meson.build
@@ -39,7 +39,7 @@ endif
 vklayer_mesa_device_select = shared_library(
   'VkLayer_MESA_device_select',
   vklayer_files,
-  c_args : [no_override_init_args, vklayer_flags, vk_wsi_args],
+  c_args : [no_override_init_args, vklayer_flags],
   gnu_symbol_visibility : 'hidden',
   dependencies : [
     idep_vulkan_util, idep_vulkan_wsi_headers, idep_mesautil, vklayer_deps,
diff --git a/src/vulkan/meson.build b/src/vulkan/meson.build
index aa5addcfce7..508a1c89c67 100644
--- a/src/vulkan/meson.build
+++ b/src/vulkan/meson.build
@@ -71,7 +71,10 @@ if host_machine.system() == 'darwin'
   vulkan_wsi_list += '-DVK_USE_PLATFORM_METAL_EXT'
 endif
 
-vk_wsi_args = vulkan_wsi_list
+idep_vulkan_wsi_defines = declare_dependency(
+  compile_args : vulkan_wsi_list,
+)
+vulkan_wsi_deps += idep_vulkan_wsi_defines
 
 subdir('util')
 subdir('runtime')
diff --git a/src/vulkan/runtime/meson.build b/src/vulkan/runtime/meson.build
index 46d9fda3048..bb0c487d0ba 100644
--- a/src/vulkan/runtime/meson.build
+++ b/src/vulkan/runtime/meson.build
@@ -189,7 +189,7 @@ libvulkan_runtime = static_library(
   dependencies : vulkan_runtime_deps,
   # For glsl_type_singleton
   link_with : libcompiler,
-  c_args : [c_msvc_compat_args, vk_wsi_args],
+  c_args : c_msvc_compat_args,
   gnu_symbol_visibility : 'hidden',
   build_by_default : false,
 )
diff --git a/src/vulkan/wsi/meson.build b/src/vulkan/wsi/meson.build
index cca907999ba..c40934e91b6 100644
--- a/src/vulkan/wsi/meson.build
+++ b/src/vulkan/wsi/meson.build
@@ -60,8 +60,6 @@ wsi_entrypoints = custom_target(
 libvulkan_wsi = static_library(
   'vulkan_wsi',
   [files_vulkan_wsi, wsi_entrypoints],
-  c_args: [vk_wsi_args],
-  cpp_args: [vk_wsi_args],
   include_directories : [inc_include, inc_src, inc_gallium],
   dependencies : [
     vulkan_wsi_deps, dep_libdrm, dep_libudev, idep_vulkan_util_headers,
@@ -72,6 +70,7 @@ libvulkan_wsi = static_library(
 )
 
 idep_vulkan_wsi_headers = declare_dependency(
+  dependencies : idep_vulkan_wsi_defines,
   include_directories : include_directories('.')
 )
 

Reply via email to