-
Notifications
You must be signed in to change notification settings - Fork 155
Add rpaths for the toolchain's compatibility back-deployment librarie #1589
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
adincebic
wants to merge
2
commits into
bazelbuild:master
Choose a base branch
from
adincebic:adin/add-rpaths-for-compatibility-libraries
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add rpaths for the toolchain's compatibility back-deployment librarie #1589
adincebic
wants to merge
2
commits into
bazelbuild:master
from
adincebic:adin/add-rpaths-for-compatibility-libraries
+112
−12
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79ec157 to
e5cb71d
Compare
5268063 to
417a2c1
Compare
417a2c1 to
45cfece
Compare
luispadron
reviewed
Oct 23, 2025
Comment on lines
344
to
366
| linkopts.extend([ | ||
| "-F{}".format(platform_developer_framework_dir), | ||
| "-L{}".format( | ||
| swift_developer_lib_dir([ | ||
| struct( | ||
| developer_path_label = "platform", | ||
| path = platform_developer_framework_dir, | ||
| ), | ||
| ]), | ||
| ), | ||
| ]) | ||
|
|
||
| # We use these as the rpaths for linking tests so that the required | ||
| # libraries are found if Xcode is installed in a different location on the | ||
| # machine that runs the tests than the machine used to link them. | ||
| for developer_dir in _DEVELOPER_DIR_SYMLINKS: | ||
| platform_developer_framework_dir_symlink = paths.join( | ||
| developer_dir, | ||
| "Platforms", | ||
| "{}.platform".format( | ||
| target_triples.bazel_apple_platform(target_triple).name_in_plist, | ||
| ), | ||
| "Developer/Library/Frameworks", |
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is this change coming from im not seeing it in upstream commit you linked
Contributor
Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I must have picked it when resolving conflicts.
…s to binaries built with `swift_{binary, compiler_plugin, test}`.
This is necessary to ensure that these binaries run correctly when using APIs like `Span` that are back-deployed on older OSes. Since the `swift_*` rules don't do bundling of their own, we simply point to the libraries in the toolchain itself (using the `xcode-select`-dependent symlinks, as we were already doing for tests). To actually distribute such a binary, it's the responsibility of the user to include the required dylibs with it (or, better, use a rule from rules_apple to perform the bundling).
I've explicitly ignored the swift-5.0 and swift-5.5 directory since we have no plans to deploy anything from these rules to such old OSes.
PiperOrigin-RevId: 817593332
(cherry picked from commit 2f5aa6e)
2ef19e8 to
37135ea
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is necessary to ensure that these binaries run correctly when using APIs like
Spanthat are back-deployed on older OSes. Since theswift_*rules don't do bundling of their own, we simply point to the libraries in the toolchain itself (using thexcode-select-dependent symlinks, as we were already doing for tests). To actually distribute such a binary, it's the responsibility of the user to include the required dylibs with it (or, better, use a rule from rules_apple to perform the bundling).I've explicitly ignored the swift-5.0 and swift-5.5 directory since we have no plans to deploy anything from these rules to such old OSes.
Cherry pick: 2f5aa6e6a3dae09293c9b35ff3cc5795fef279e7