Skip to content

Conversation

compnerd
Copy link
Member

Re-organise the "runtime" components (i.e. the Package Manifest runtime) into a separate directory. Introduce a separate CMake project for the build of this runtime to allow building the SPM tool with one version of the Swift runtime and the SPM Manifest Runtime witih a separate Swift runtime.

@compnerd compnerd force-pushed the runtime branch 2 times, most recently from f3a5555 to 5cb3585 Compare August 26, 2025 17:24
@jakepetroules
Copy link
Contributor

Can you elaborate on some of the higher level goals behind this change?

@compnerd
Copy link
Member Author

@jakepetroules sure - the higher level goal here is to get to the point where we can build the Swift toolchain on Windows with the bootstrap compiler. With the new experimental SDK, we have Win32 SxS runtimes available and I would like to embed the runtime into the compiler itself. allowing the toolchain to run against the runtime that it was built against while uniformly building all the tools against the same runtime and the same compiler.

Currently, the SPM Manifest runtime is built with the just built compiler and runtime as we build the vast majority of the toolchain with the just built compiler and runtime and rely on luck to build the swift frontend with the bootstrap compiler and runtime and then run against the new runtime (without ABI stability).

This restructuring (it is mostly a move of 3 of the modules) allows us to create a separate subproject that will build only PackageDescription, CompilerPluginSupport, and PackagePlugin modules separately. In doing so, we can now build the package manager with the old runtime and compiler, the SPM manifest runtime with the new runtime and compiler so that we can consume this in a safe way.

Re-organise the "runtime" components (i.e. the Package Manifest runtime)
into a separate directory. Introduce a separate CMake project for the
build of this runtime to allow building the SPM tool with one version of
the Swift runtime and the SPM Manifest Runtime witih a separate Swift
runtime.
@compnerd
Copy link
Member Author

@swift-ci please smoke test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please smoke test Linux platform

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.

2 participants