diff options
| author | Simon McVittie <smcv@debian.org> | 2025-09-25 13:40:14 +0100 |
|---|---|---|
| committer | Marge Bot <marge-bot@fdo.invalid> | 2025-09-26 10:47:31 +0000 |
| commit | be8cac52d3e81abd082d7b36751d661161dc7698 (patch) | |
| tree | 79e52cfebec0ddf12e78f4180873f0eea95cf918 | |
| parent | 2a14b7224b45f242e1756bd83a81ce48fa3dd755 (diff) | |
vulkan: Consistently form driver library names as prefix + name + suffix
This consistently uses `NAME.dll` on Windows, `libNAME.dylib` on Darwin
derivatives such as macOS, and `libNAME.so` on Linux, *BSD and so on.
It's also consistent about using the local variable name `icd_file_name`
for this name in every Vulkan driver, which was already the case in many
but not all drivers.
Some of these drivers probably don't make sense (or don't work) on
Windows and/or macOS, but if this is kept consistent for all drivers,
it should avoid the need for driver-specific commits like
commit 611e9f29e "lavapipe: fix icd generation for windows",
commit 951f3287 "lavapipe: set empty dll prefix",
commit 13e7a39f "lavapipe: fixes for macOS support",
commit 7008e655 "radv: Update JSON generator if Windows" and so on,
each time a driver is found to be relevant on more platforms than
previously believed.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37576>
| -rw-r--r-- | meson.build | 3 | ||||
| -rw-r--r-- | src/amd/vulkan/meson.build | 3 | ||||
| -rw-r--r-- | src/asahi/vulkan/meson.build | 3 | ||||
| -rw-r--r-- | src/broadcom/vulkan/meson.build | 6 | ||||
| -rw-r--r-- | src/freedreno/vulkan/meson.build | 6 | ||||
| -rw-r--r-- | src/gallium/targets/lavapipe/meson.build | 4 | ||||
| -rw-r--r-- | src/gfxstream/guest/vulkan/meson.build | 6 | ||||
| -rw-r--r-- | src/imagination/vulkan/meson.build | 6 | ||||
| -rw-r--r-- | src/intel/vulkan/meson.build | 6 | ||||
| -rw-r--r-- | src/intel/vulkan_hasvk/meson.build | 6 | ||||
| -rw-r--r-- | src/microsoft/vulkan/meson.build | 3 | ||||
| -rw-r--r-- | src/nouveau/vulkan/meson.build | 3 | ||||
| -rw-r--r-- | src/panfrost/vulkan/meson.build | 6 | ||||
| -rw-r--r-- | src/virtio/vulkan/meson.build | 6 |
14 files changed, 41 insertions, 26 deletions
diff --git a/meson.build b/meson.build index 5d6ee648f24..c5564e9c2c1 100644 --- a/meson.build +++ b/meson.build @@ -20,10 +20,13 @@ project( if host_machine.system() == 'darwin' add_languages('objc', native : false) add_project_arguments('-fobjc-arc', language : 'objc') + libname_prefix = 'lib' libname_suffix = 'dylib' elif host_machine.system() == 'windows' + libname_prefix = '' libname_suffix = 'dll' else + libname_prefix = 'lib' libname_suffix = 'so' endif diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build index 9e15350d01d..9eafb95b926 100644 --- a/src/amd/vulkan/meson.build +++ b/src/amd/vulkan/meson.build @@ -282,10 +282,9 @@ if with_symbols_check endif icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) -icd_file_name = 'libvulkan_radeon.so' +icd_file_name = libname_prefix + 'vulkan_radeon.' + libname_suffix if with_platform_windows icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) - icd_file_name = 'vulkan_radeon.dll' endif icd_command = [ diff --git a/src/asahi/vulkan/meson.build b/src/asahi/vulkan/meson.build index f2709694ac4..198ebde602b 100644 --- a/src/asahi/vulkan/meson.build +++ b/src/asahi/vulkan/meson.build @@ -103,10 +103,9 @@ libvulkan_asahi = shared_library( ) icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) -icd_file_name = 'libvulkan_asahi.so' +icd_file_name = libname_prefix + 'vulkan_asahi.' + libname_suffix if with_platform_windows icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) - icd_file_name = 'vulkan_asahi.dll' endif asahi_icd = custom_target( diff --git a/src/broadcom/vulkan/meson.build b/src/broadcom/vulkan/meson.build index 7463811dfe9..e01294b83b8 100644 --- a/src/broadcom/vulkan/meson.build +++ b/src/broadcom/vulkan/meson.build @@ -122,6 +122,8 @@ if with_symbols_check ) endif +icd_file_name = libname_prefix + 'vulkan_broadcom.' + libname_suffix + broadcom_icd = custom_target( 'broadcom_icd', input : [vk_icd_gen, vk_api_xml], @@ -131,7 +133,7 @@ broadcom_icd = custom_target( '--api-version', '1.3', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_broadcom.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -149,7 +151,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.3', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_broadcom.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/freedreno/vulkan/meson.build b/src/freedreno/vulkan/meson.build index 7d02bc1389f..8218f8f3687 100644 --- a/src/freedreno/vulkan/meson.build +++ b/src/freedreno/vulkan/meson.build @@ -197,6 +197,8 @@ if with_symbols_check ) endif +icd_file_name = libname_prefix + 'vulkan_freedreno.' + libname_suffix + freedreno_icd = custom_target( 'freedreno_icd', input : [vk_icd_gen, vk_api_xml], @@ -206,7 +208,7 @@ freedreno_icd = custom_target( '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_freedreno.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -224,7 +226,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_freedreno.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/gallium/targets/lavapipe/meson.build b/src/gallium/targets/lavapipe/meson.build index 25f0eb93c57..214b36da04b 100644 --- a/src/gallium/targets/lavapipe/meson.build +++ b/src/gallium/targets/lavapipe/meson.build @@ -18,12 +18,12 @@ libvulkan_lvp = shared_library( install : true, ) +icd_file_name = libname_prefix + 'vulkan_lvp.' + libname_suffix + if host_machine.system() == 'windows' icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) - icd_file_name = 'vulkan_lvp.dll' else icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) - icd_file_name = 'libvulkan_lvp.@0@'.format(host_machine.system() == 'darwin' ? 'dylib' : 'so') endif icd_command = [ diff --git a/src/gfxstream/guest/vulkan/meson.build b/src/gfxstream/guest/vulkan/meson.build index f76199242a3..46f76928ae0 100644 --- a/src/gfxstream/guest/vulkan/meson.build +++ b/src/gfxstream/guest/vulkan/meson.build @@ -38,6 +38,8 @@ lib_vulkan_gfxstream = shared_library( install: true, ) +icd_file_name = libname_prefix + 'vulkan_gfxstream.' + libname_suffix + gfxstream_icd = custom_target( 'gfxstream_vk_icd', input : [vk_icd_gen, vk_api_xml], @@ -47,7 +49,7 @@ gfxstream_icd = custom_target( '--api-version', '1.1', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_gfxstream.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -64,7 +66,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.3', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_gfxstream.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/imagination/vulkan/meson.build b/src/imagination/vulkan/meson.build index d07929f6a85..6cbf84605b5 100644 --- a/src/imagination/vulkan/meson.build +++ b/src/imagination/vulkan/meson.build @@ -136,6 +136,8 @@ if with_symbols_check ) endif +icd_file_name = libname_prefix + 'vulkan_powervr_mesa.' + libname_suffix + powervr_mesa_icd = custom_target( 'powervr_mesa_icd', input : [vk_icd_gen, vk_api_xml], @@ -144,7 +146,7 @@ powervr_mesa_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', get_option('prefix') / get_option('libdir') / 'libvulkan_powervr_mesa.so', + '--lib-path', get_option('prefix') / get_option('libdir') / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, @@ -161,7 +163,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_powervr_mesa.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build index 5c6118d6c52..cf20ae2c81a 100644 --- a/src/intel/vulkan/meson.build +++ b/src/intel/vulkan/meson.build @@ -45,6 +45,8 @@ else anv_flags += '-DANV_SUPPORT_RT=0' endif +icd_file_name = libname_prefix + 'vulkan_intel.' + libname_suffix + intel_icd = custom_target( 'intel_icd', input : [vk_icd_gen, vk_api_xml], @@ -54,7 +56,7 @@ intel_icd = custom_target( '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_intel.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -72,7 +74,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_intel.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/intel/vulkan_hasvk/meson.build b/src/intel/vulkan_hasvk/meson.build index a5e6e3cf715..9eb95c5f19b 100644 --- a/src/intel/vulkan_hasvk/meson.build +++ b/src/intel/vulkan_hasvk/meson.build @@ -16,6 +16,8 @@ anv_hasvk_entrypoints = custom_target( depend_files : vk_entrypoints_gen_depend_files, ) +icd_file_name = libname_prefix + 'vulkan_intel_hasvk.' + libname_suffix + intel_hasvk_icd = custom_target( 'intel_hasvk_icd', input : [vk_icd_gen, vk_api_xml], @@ -25,7 +27,7 @@ intel_hasvk_icd = custom_target( '--api-version', '1.3', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_intel_hasvk.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -43,7 +45,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.3', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_intel_hasvk.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build index 7e4cbb5ce99..f59ac6f39e8 100644 --- a/src/microsoft/vulkan/meson.build +++ b/src/microsoft/vulkan/meson.build @@ -73,11 +73,10 @@ libvulkan_dzn = shared_library( install : true, ) -icd_file_name = 'libvulkan_dzn.so' +icd_file_name = libname_prefix + 'vulkan_dzn.' + libname_suffix icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) if with_platform_windows icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) - icd_file_name = 'vulkan_dzn.dll' endif diff --git a/src/nouveau/vulkan/meson.build b/src/nouveau/vulkan/meson.build index b57bb231d86..40307729f74 100644 --- a/src/nouveau/vulkan/meson.build +++ b/src/nouveau/vulkan/meson.build @@ -162,10 +162,9 @@ libvulkan_nouveau = shared_library( ) icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) -icd_file_name = 'libvulkan_nouveau.so' +icd_file_name = libname_prefix + 'vulkan_nouveau.' + libname_suffix if with_platform_windows icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) - icd_file_name = 'vulkan_nouveau.dll' endif nouveau_icd = custom_target( diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build index 7a109533f00..7005885670b 100644 --- a/src/panfrost/vulkan/meson.build +++ b/src/panfrost/vulkan/meson.build @@ -236,6 +236,8 @@ if with_symbols_check ) endif +icd_file_name = libname_prefix + 'vulkan_panfrost.' + libname_suffix + panfrost_icd = custom_target( 'panfrost_icd', input : [vk_icd_gen, vk_api_xml], @@ -245,7 +247,7 @@ panfrost_icd = custom_target( '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_panfrost.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -263,7 +265,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_panfrost.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, diff --git a/src/virtio/vulkan/meson.build b/src/virtio/vulkan/meson.build index df6e5b3f469..374f0f6be07 100644 --- a/src/virtio/vulkan/meson.build +++ b/src/virtio/vulkan/meson.build @@ -15,6 +15,8 @@ vn_entrypoints = custom_target( ], ) +icd_file_name = libname_prefix + 'vulkan_virtio.' + libname_suffix + virtio_icd = custom_target( 'virtio_icd', input : [vk_icd_gen, vk_api_xml], @@ -24,7 +26,7 @@ virtio_icd = custom_target( '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', join_paths(get_option('prefix'), get_option('libdir'), - 'libvulkan_virtio.so'), + icd_file_name), '--out', '@OUTPUT@', ], build_by_default : true, @@ -42,7 +44,7 @@ _dev_icd = custom_target( prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, - '--lib-path', meson.current_build_dir() / 'libvulkan_virtio.so', + '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, |