Skip to content

Commit cedcaec

Browse files
allevatoswiple-rules-gardener
authored andcommitted
Add @loader_path/Frameworks rpath when building dynamic xcframeworks.
PiperOrigin-RevId: 853394275
1 parent 67860cf commit cedcaec

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

apple/internal/xcframework_rules.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,6 +1358,7 @@ def _apple_xcframework_impl(ctx):
13581358
# While different, these resolve to the same paths relative to their respective
13591359
# executables. Only macOS (which is not yet supported) is an outlier.
13601360
"-Wl,-rpath,@executable_path/Frameworks",
1361+
"-Wl,-rpath,@loader_path/Frameworks",
13611362
"-install_name",
13621363
"@rpath/{name}.framework/{name}".format(
13631364
name = bundle_name,

test/starlark_tests/apple_xcframework_tests.bzl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ def apple_xcframework_test_suite(name):
199199
macho_load_commands_contain = [
200200
"name @rpath/ios_dynamic_xcframework.framework/ios_dynamic_xcframework (offset 24)",
201201
"path @executable_path/Frameworks (offset 12)",
202+
"path @loader_path/Frameworks (offset 12)",
202203
],
203204
contains = [
204205
"$BUNDLE_ROOT/ios-arm64/ios_dynamic_xcframework.framework/Headers/shared.h",
@@ -220,6 +221,7 @@ def apple_xcframework_test_suite(name):
220221
macho_load_commands_contain = [
221222
"name @rpath/ios_dynamic_xcframework.framework/ios_dynamic_xcframework (offset 24)",
222223
"path @executable_path/Frameworks (offset 12)",
224+
"path @loader_path/Frameworks (offset 12)",
223225
],
224226
contains = [
225227
"$BUNDLE_ROOT/ios-x86_64-simulator/ios_dynamic_xcframework.framework/Headers/shared.h",
@@ -241,6 +243,7 @@ def apple_xcframework_test_suite(name):
241243
macho_load_commands_contain = [
242244
"name @rpath/ios_dynamic_lipoed_xcframework.framework/ios_dynamic_lipoed_xcframework (offset 24)",
243245
"path @executable_path/Frameworks (offset 12)",
246+
"path @loader_path/Frameworks (offset 12)",
244247
],
245248
contains = [
246249
"$BUNDLE_ROOT/ios-arm64_arm64e/ios_dynamic_lipoed_xcframework.framework/Headers/shared.h",
@@ -262,6 +265,7 @@ def apple_xcframework_test_suite(name):
262265
macho_load_commands_contain = [
263266
"name @rpath/ios_dynamic_lipoed_xcframework.framework/ios_dynamic_lipoed_xcframework (offset 24)",
264267
"path @executable_path/Frameworks (offset 12)",
268+
"path @loader_path/Frameworks (offset 12)",
265269
],
266270
contains = [
267271
"$BUNDLE_ROOT/ios-arm64_x86_64-simulator/ios_dynamic_lipoed_xcframework.framework/Headers/shared.h",
@@ -703,6 +707,7 @@ def apple_xcframework_test_suite(name):
703707
macho_load_commands_contain = [
704708
"name @rpath/tvos_dynamic_xcframework.framework/tvos_dynamic_xcframework (offset 24)",
705709
"path @executable_path/Frameworks (offset 12)",
710+
"path @loader_path/Frameworks (offset 12)",
706711
],
707712
tags = [name],
708713
)
@@ -715,6 +720,7 @@ def apple_xcframework_test_suite(name):
715720
macho_load_commands_contain = [
716721
"name @rpath/tvos_dynamic_xcframework.framework/tvos_dynamic_xcframework (offset 24)",
717722
"path @executable_path/Frameworks (offset 12)",
723+
"path @loader_path/Frameworks (offset 12)",
718724
],
719725
tags = [name],
720726
)
@@ -727,6 +733,7 @@ def apple_xcframework_test_suite(name):
727733
macho_load_commands_contain = [
728734
"name @rpath/tvos_dynamic_xcframework.framework/tvos_dynamic_xcframework (offset 24)",
729735
"path @executable_path/Frameworks (offset 12)",
736+
"path @loader_path/Frameworks (offset 12)",
730737
],
731738
tags = [name],
732739
)
@@ -741,6 +748,7 @@ def apple_xcframework_test_suite(name):
741748
macho_load_commands_contain = [
742749
"name @rpath/visionos_dynamic_xcframework.framework/visionos_dynamic_xcframework (offset 24)",
743750
"path @executable_path/Frameworks (offset 12)",
751+
"path @loader_path/Frameworks (offset 12)",
744752
],
745753
tags = [name],
746754
)
@@ -753,6 +761,7 @@ def apple_xcframework_test_suite(name):
753761
macho_load_commands_contain = [
754762
"name @rpath/visionos_dynamic_xcframework.framework/visionos_dynamic_xcframework (offset 24)",
755763
"path @executable_path/Frameworks (offset 12)",
764+
"path @loader_path/Frameworks (offset 12)",
756765
],
757766
tags = [name],
758767
)
@@ -765,6 +774,7 @@ def apple_xcframework_test_suite(name):
765774
macho_load_commands_contain = [
766775
"name @rpath/visionos_dynamic_xcframework.framework/visionos_dynamic_xcframework (offset 24)",
767776
"path @executable_path/Frameworks (offset 12)",
777+
"path @loader_path/Frameworks (offset 12)",
768778
],
769779
tags = [name],
770780
)

0 commit comments

Comments
 (0)