Skip to content
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

Open
wants to merge 8 commits into
base: release/6.1
Choose a base branch
from

Conversation

bnbarham
Copy link
Contributor

@bnbarham bnbarham commented Jan 2, 2025

  • 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

compnerd and others added 8 commits January 2, 2025 14:32
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)
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)
@bnbarham bnbarham requested a review from a team as a code owner January 2, 2025 23:12
@bnbarham bnbarham requested a review from compnerd January 2, 2025 23:12
@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 2, 2025

swiftlang/swift-installer-scripts#359

@swift-ci please build toolchain Windows platform

@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 2, 2025

@swift-ci please test

@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 2, 2025

@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:
#77770
#78000
#77986
#76594
#77940
#77862

Plus the LMDB changes. I'm going to leave it to this to at least keep it semi-ish scoped though 😅.

@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 3, 2025

swiftlang/swift-installer-scripts#359

@swift-ci please test Windows platform

@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 4, 2025

swiftlang/swift-installer-scripts#359

@swift-ci please build toolchain Windows arm64

1 similar comment
@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 5, 2025

swiftlang/swift-installer-scripts#359

@swift-ci please build toolchain Windows arm64

@bnbarham
Copy link
Contributor Author

bnbarham commented Jan 5, 2025

swiftlang/swift-installer-scripts#359

@swift-ci please build toolchain Windows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants