About Social Code
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2025-09-25 13:40:14 +0100
committerMarge Bot <marge-bot@fdo.invalid>2025-09-26 10:47:31 +0000
commitbe8cac52d3e81abd082d7b36751d661161dc7698 (patch)
tree79e52cfebec0ddf12e78f4180873f0eea95cf918
parent2a14b7224b45f242e1756bd83a81ce48fa3dd755 (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.build3
-rw-r--r--src/amd/vulkan/meson.build3
-rw-r--r--src/asahi/vulkan/meson.build3
-rw-r--r--src/broadcom/vulkan/meson.build6
-rw-r--r--src/freedreno/vulkan/meson.build6
-rw-r--r--src/gallium/targets/lavapipe/meson.build4
-rw-r--r--src/gfxstream/guest/vulkan/meson.build6
-rw-r--r--src/imagination/vulkan/meson.build6
-rw-r--r--src/intel/vulkan/meson.build6
-rw-r--r--src/intel/vulkan_hasvk/meson.build6
-rw-r--r--src/microsoft/vulkan/meson.build3
-rw-r--r--src/nouveau/vulkan/meson.build3
-rw-r--r--src/panfrost/vulkan/meson.build6
-rw-r--r--src/virtio/vulkan/meson.build6
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,