From fe520ecfbf0d57545e089768c021cb1cbc79b3ef Mon Sep 17 00:00:00 2001 From: Luca Bacci Date: Mon, 5 Feb 2024 16:01:00 +0100 Subject: [PATCH] meson,windows: Use relative paths in Vulkan ICD manifest files See https://github.com/msys2/MINGW-packages/issues/16065 Part-of: --- meson.build | 4 ++++ src/amd/vulkan/meson.build | 2 +- src/gallium/targets/lavapipe/meson.build | 2 +- src/microsoft/vulkan/meson.build | 2 +- src/nouveau/vulkan/meson.build | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 6fe910d41be..b80949067b1 100644 --- a/meson.build +++ b/meson.build @@ -256,6 +256,10 @@ with_microsoft_vk = _vulkan_drivers.contains('microsoft-experimental') with_nouveau_vk = _vulkan_drivers.contains('nouveau') with_any_vk = _vulkan_drivers.length() != 0 +if with_any_vk and host_machine.system() == 'windows' and meson.version().version_compare('< 1.3') + error('Vulkan drivers on Windows require meson 1.3 or newer') +endif + with_vk_compiler = [ with_intel_vk, with_intel_hasvk, diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build index 3d9d952664b..da41dc776f0 100644 --- a/src/amd/vulkan/meson.build +++ b/src/amd/vulkan/meson.build @@ -246,7 +246,7 @@ endif icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) icd_file_name = 'libvulkan_radeon.so' if with_platform_windows - icd_lib_path = join_paths(get_option('prefix'), get_option('bindir')) + icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) icd_file_name = 'vulkan_radeon.dll' endif diff --git a/src/gallium/targets/lavapipe/meson.build b/src/gallium/targets/lavapipe/meson.build index 9351505904e..253eb0996f5 100644 --- a/src/gallium/targets/lavapipe/meson.build +++ b/src/gallium/targets/lavapipe/meson.build @@ -17,7 +17,7 @@ libvulkan_lvp = shared_library( icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) icd_file_name = 'libvulkan_lvp.so' if with_platform_windows - icd_lib_path = join_paths(get_option('prefix'), get_option('bindir')) + icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) icd_file_name = 'vulkan_lvp.dll' endif diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build index 0c7e2d42568..adcd2ea1ebf 100644 --- a/src/microsoft/vulkan/meson.build +++ b/src/microsoft/vulkan/meson.build @@ -94,7 +94,7 @@ libvulkan_dzn = shared_library( icd_file_name = 'libvulkan_dzn.so' icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) if with_platform_windows - icd_lib_path = join_paths(get_option('prefix'), get_option('bindir')) + 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 ad831c74131..5e5996994b7 100644 --- a/src/nouveau/vulkan/meson.build +++ b/src/nouveau/vulkan/meson.build @@ -114,7 +114,7 @@ libvulkan_nouveau = shared_library( icd_lib_path = join_paths(get_option('prefix'), get_option('libdir')) icd_file_name = 'libvulkan_nouveau.so' if with_platform_windows - icd_lib_path = join_paths(get_option('prefix'), get_option('bindir')) + icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir) icd_file_name = 'vulkan_nouveau.dll' endif