Skip to content

Commit 72813c8

Browse files
adincebicallevato
andauthored
Add @loader_path/Frameworks rpath when building dynamic xcframeworks (#2852)
(cherry picked from commit [cedcaec](cedcaec)) Co-authored-by: Tony Allevato <allevato@google.com>
1 parent 55f6ece commit 72813c8

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

apple/internal/xcframework_rules.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,7 @@ def _apple_xcframework_impl(ctx):
596596
# executables. Only macOS (which is not yet supported) is an outlier; this will require
597597
# changes to native Bazel linking logic for Apple binary targets.
598598
"-Wl,-rpath,@executable_path/Frameworks",
599+
"-Wl,-rpath,@loader_path/Frameworks",
599600
"-dynamiclib",
600601
"-Wl,-install_name,@rpath/{name}{extension}/{name}".format(
601602
extension = nested_bundle_extension,

test/starlark_tests/apple_xcframework_tests.bzl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ def apple_xcframework_test_suite(name):
143143
macho_load_commands_contain = [
144144
"name @rpath/ios_dynamic_xcframework.framework/ios_dynamic_xcframework (offset 24)",
145145
"path @executable_path/Frameworks (offset 12)",
146+
"path @loader_path/Frameworks (offset 12)",
146147
],
147148
contains = [
148149
"$BUNDLE_ROOT/ios-arm64/ios_dynamic_xcframework.framework/Headers/shared.h",
@@ -164,6 +165,7 @@ def apple_xcframework_test_suite(name):
164165
macho_load_commands_contain = [
165166
"name @rpath/ios_dynamic_xcframework.framework/ios_dynamic_xcframework (offset 24)",
166167
"path @executable_path/Frameworks (offset 12)",
168+
"path @loader_path/Frameworks (offset 12)",
167169
],
168170
contains = [
169171
"$BUNDLE_ROOT/ios-x86_64-simulator/ios_dynamic_xcframework.framework/Headers/shared.h",
@@ -185,6 +187,7 @@ def apple_xcframework_test_suite(name):
185187
macho_load_commands_contain = [
186188
"name @rpath/ios_dynamic_lipoed_xcframework.framework/ios_dynamic_lipoed_xcframework (offset 24)",
187189
"path @executable_path/Frameworks (offset 12)",
190+
"path @loader_path/Frameworks (offset 12)",
188191
],
189192
contains = [
190193
"$BUNDLE_ROOT/ios-arm64_arm64e/ios_dynamic_lipoed_xcframework.framework/Headers/shared.h",
@@ -206,6 +209,7 @@ def apple_xcframework_test_suite(name):
206209
macho_load_commands_contain = [
207210
"name @rpath/ios_dynamic_lipoed_xcframework.framework/ios_dynamic_lipoed_xcframework (offset 24)",
208211
"path @executable_path/Frameworks (offset 12)",
212+
"path @loader_path/Frameworks (offset 12)",
209213
],
210214
contains = [
211215
"$BUNDLE_ROOT/ios-arm64_x86_64-simulator/ios_dynamic_lipoed_xcframework.framework/Headers/shared.h",
@@ -570,6 +574,7 @@ def apple_xcframework_test_suite(name):
570574
macho_load_commands_contain = [
571575
"name @rpath/tvos_dynamic_xcframework.framework/tvos_dynamic_xcframework (offset 24)",
572576
"path @executable_path/Frameworks (offset 12)",
577+
"path @loader_path/Frameworks (offset 12)",
573578
],
574579
tags = [name],
575580
)
@@ -582,6 +587,7 @@ def apple_xcframework_test_suite(name):
582587
macho_load_commands_contain = [
583588
"name @rpath/tvos_dynamic_xcframework.framework/tvos_dynamic_xcframework (offset 24)",
584589
"path @executable_path/Frameworks (offset 12)",
590+
"path @loader_path/Frameworks (offset 12)",
585591
],
586592
tags = [name],
587593
)
@@ -594,6 +600,7 @@ def apple_xcframework_test_suite(name):
594600
macho_load_commands_contain = [
595601
"name @rpath/tvos_dynamic_xcframework.framework/tvos_dynamic_xcframework (offset 24)",
596602
"path @executable_path/Frameworks (offset 12)",
603+
"path @loader_path/Frameworks (offset 12)",
597604
],
598605
tags = [name],
599606
)

0 commit comments

Comments
 (0)