-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
[6.1] Cherry-pick various windows build fixes #78415
base: release/6.1
Are you sure you want to change the base?
Conversation
bnbarham
commented
Jan 2, 2025
•
edited
Loading
edited
- Explanation: Mostly this is all build system for swift-inspect + arm64, but there's also a small fix for cxx interfaces as well.
- Scope: Serialization (cxx interface fix) and then build system for the rest
- Original PRs: Many, see commits
- Risk: Low as long as it builds!
- Testing: Will run cross PR testing
- Reviewers: @compnerd @hjyamauchi
When compiling the swiftmodule from the textual swift interface, ensure that we re-serialise the static or dynamic nature of the module. This is required for proper code generation where the static and dynamic linking is material to symbolic references. This also opens the possibility of optimizations on other platforms via internalisation of the symbols. Fixes: swiftlang#77756 (cherry picked from commit b660d20)
`-fno-split-cold-code` should no longer be needed after llvm/llvm-project#99759. Remove the use of unsafe flags. (cherry picked from commit 87b3d51)
This addition will allow us to cross-compile swift-inspect to Windows ARM64. Enabling the Windows ARM64 build permits the toolchain to become more similar across the architectures. (cherry picked from commit 22a014b)
This switches us to use CMake to build swift-inspect. In doing so, we can now cross-compile this tool. Due to the use of CMake, we now have install rules for the products, which allows the toolchain deployment and simpler rules in the installer. (cherry picked from commit c72246c)
When building for ARM64, we can now build swift-inspect as we use CMake for the cross-compilation. This is a second attempt for swiftlang#77810 (cherry picked from commit 5d95051)
…es for Win/ARM64 (cherry picked from commit d482ab7)
This fix is necessary for the native win arm64 build where arm64 isn't the first in the WindowsSDKs list. (cherry picked from commit 4a98e37)
Update the property to include the SDK MSI for Windows as we start adding additional platforms. Update the file name patterns to reflect the new naming. (cherry picked from commit 99d0221)
swiftlang/swift-installer-scripts#359 @swift-ci please build toolchain Windows platform |
@swift-ci please test |
@compnerd / @hjyamauchi note that we branched on November 13, so there's a fair few changes missing. The ones above seem obvious to take, but there's a bunch more: Plus the LMDB changes. I'm going to leave it to this to at least keep it semi-ish scoped though 😅. |
swiftlang/swift-installer-scripts#359 @swift-ci please test Windows platform |
swiftlang/swift-installer-scripts#359 @swift-ci please build toolchain Windows arm64 |
1 similar comment
swiftlang/swift-installer-scripts#359 @swift-ci please build toolchain Windows arm64 |
swiftlang/swift-installer-scripts#359 @swift-ci please build toolchain Windows |