-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[5.1] Module filename and location changes #23021
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
Merged
beccadax
merged 8 commits into
swiftlang:swift-5.1-branch
from
beccadax:target-practice-5.1
Mar 2, 2019
Merged
[5.1] Module filename and location changes #23021
beccadax
merged 8 commits into
swiftlang:swift-5.1-branch
from
beccadax:target-practice-5.1
Mar 2, 2019
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
@swift-ci please test |
…lang#21797) This changes the Swift resource directory from looking like lib/ swift/ macosx/ libswiftCore.dylib libswiftDarwin.dylib x86_64/ Swift.swiftmodule Swift.swiftdoc Darwin.swiftmodule Darwin.swiftdoc to lib/ swift/ macosx/ libswiftCore.dylib libswiftDarwin.dylib Swift.swiftmodule/ x86_64.swiftmodule x86_64.swiftdoc Darwin.swiftmodule/ x86_64.swiftmodule x86_64.swiftdoc matching the layout we use for multi-architecture swiftmodules everywhere else (particularly frameworks). There's no change in this commit to how Linux swiftmodules are packaged. There's been past interest in going the /opposite/ direction for Linux, since there's not standard support for fat (multi-architecture) .so libraries. Moving the .so search path /down/ to an architecture-specific directory on Linux would allow the same resource directory to be used for both host-compiling and cross-compiling. rdar://problem/43545560
…wiftlang#22907) This field is reverse-path-sorted, so the order depends on what architecture we're compiling for. That's not what's being tested, so just use a CHECK-DAG. rdar://problem/48377454
Create a helper type to represent the .swiftmodule/.swiftdoc filename pair and use it in SerializedModuleLoaderBase::findModule().
…from 1-2 target-specific names to 0-N target-specific names.
When loading a module supporting multiple targets, the module loader now looks for a file named with a normalized version of the target triple first, and only falls back to the architecture name if the normalized triple is not found.
* Adds documentation comments. * Turns redundant cases into comments. * Removes the else branch in a couple “if (…) return …; else return …;” patterns.
Looks like I resolved a merge conflict in one of the tests incorrectly. Force-pushing a corrected version. |
44974c2
to
353179a
Compare
@swift-ci please test |
This comment has been minimized.
This comment has been minimized.
Build failed |
@swift-ci please test OS X platform |
This comment has been minimized.
This comment has been minimized.
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 PR cherry-picks changes from three PRs to swift-5.1-branch:
Collectively, they rearrange the standard library and overlay modules to be laid out more like ordinary modules and add support for new target-specific module filenames.