Add the correct rpath to use Swiftshader / Vulkan on macOS
Previously the @executable_path rpath was only added when doing
component builds and non-component builds failed to find Vulkan and
Swiftshader on macOS.
Bug: None
Change-Id: I0277566e4bf181703dff26bb1bf3e57858864009
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37442
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
diff --git a/src/dawn_native/BUILD.gn b/src/dawn_native/BUILD.gn
index f396433..b98708c 100644
--- a/src/dawn_native/BUILD.gn
+++ b/src/dawn_native/BUILD.gn
@@ -77,6 +77,17 @@
}
}
+# Config that adds the @executable_path rpath if needed so that Swiftshader or the Vulkan loader are found.
+config("dawn_native_vulkan_rpath") {
+ if (is_mac && dawn_enable_vulkan &&
+ (use_swiftshader || enable_vulkan_loader)) {
+ ldflags = [
+ "-rpath",
+ "@executable_path/",
+ ]
+ }
+}
+
dawn_json_generator("dawn_native_utils_gen") {
target = "dawn_native_utils"
outputs = [
@@ -633,7 +644,10 @@
]
sources = [ "DawnNative.cpp" ]
configs = [ ":dawn_native_internal" ]
- public_configs = [ ":dawn_native_weak_framework" ]
+ public_configs = [
+ ":dawn_native_weak_framework",
+ ":dawn_native_vulkan_rpath",
+ ]
if (dawn_enable_d3d12) {
sources += [ "d3d12/D3D12Backend.cpp" ]