-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Windows: migrate to experimental SDK, stabilize toolchain, and remove legacy SDK #84797
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
base: main
Are you sure you want to change the base?
Conversation
Please test with following PRs: @swift-ci please build toolchain Windows platform |
@swift-ci please smoke test |
fafc9ad
to
1edbb62
Compare
Please test with following PRs: @swift-ci please build toolchain Windows platform |
1 similar comment
Please test with following PRs: @swift-ci please build toolchain Windows platform |
a24766f
to
f825a55
Compare
Please test with following PRs: @swift-ci please build toolchain Windows platform |
Please test with following PRs: @swift-ci please build toolchain Windows platform |
f825a55
to
4e18a3d
Compare
Please test with following PRs: @swift-ci please build toolchain Windows platform |
Use the experimental SDK to build the toolchain and consume the redistributable. This is going to ensure that we build the entire toolchain against a stable point and run against the runtime that we build against.
Adjust the toolchain build to use the pinned toolchain rather than the built toolchain. This is particularly important with the lack of ABI stability on Windows. We now uniformly build the toolchain with the same runtime. This extricates the SDK from the toolchain build. Now that we build the toolchain properly against a SxS installable version of the runtime, we can consume the runtime that we built against and inject that into the toolchain image. This avoids the need to rely on trying to maintain ABI compatibility in an ABI unstable environment.
Drop the support for the legacy build system for the runtime. This reduces the complexity in the build script as well as helps reduce the overall build times.
Build the complete toolchain before we build the SDK. This delays a certain class of errors, however, the resulting build order is much easier to reason about.
This prepares the swift-driver building on Windows. By statically linking the runtime and its dependencies, this will allow us to avoid the runtime shuffling that is required to get the runtime required to get the swift-driver working.
Enable the use of the early swift-driver to build the Swift toolchain. This is the first step towards removing the accumulated debt and workarounds when building the toolchain on Windows.
4e18a3d
to
71ed808
Compare
Please test with following PRs: @swift-ci please build toolchain Windows platform |
This set of changes: