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>
This commit is contained in:
Simon McVittie 2025-09-25 13:40:14 +01:00 committed by Marge Bot
parent 2a14b7224b
commit be8cac52d3
14 changed files with 41 additions and 26 deletions

View file

@ -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