Skip to content

Conversation

dschaefer2
Copy link
Member

@dschaefer2 dschaefer2 commented Sep 11, 2025

Cherry pick of #8994 and #9127 to 6.2.1

8994 added the ability to build prebuilts and pass in the swift-syntax versions to build for. This was added to 6.2 after the 6.2.1 branch was created. We should make sure 6.2.1 has the same features in case we want to build the prebuilts from that branch. It also avoids a merge conflict with 9127.

9127 Fixes a bug where if Windows prebuilts built last, the include path to the C shims had backslashes in them instead of slashes. This forces them the other way. That unfortunately breaks the signature on the Windows client so this fixes the client to switch them back after signature verification.

…ng#8994) (swiftlang#9011)

Removes the hardcoding of the contents of the prebuilt libraries.

Adds a --version argument to specify which versions of swift-syntax you
want to build for. You can have multiple of these. We add a sample
build.sh script to the folder to show an example, including finding the
most recent prerelease of 602.

Also removes the hardcoding of the list of products that go into the
library. Instead we ask the package for its list of library products and
add them all.

Finally, removes the header files since SwiftPM now hooks up the include
paths to the CModules from the source in the checkouts.

This is needed in 6.2 to support prebuilts generated with that version
of the toolchain. I have tested this on all three host platforms
including all Linux distros with both architectures and swift-syntax
600, 601, and the latest prerelease of 602
…ng#9112)

We are running into cases where, if the Windows prebuilts build runs
last, it's the one producing the prebuilts manifest. Since we're using
RelativePath to for the library include paths, it's resulting in Windows
paths being used and that fails on the other platforms. This change
makes sure we always use forward slashes which will work on all
platforms.

Note to do this we're copying over the manifest types to the
BuildPrebuilts script temporarily to so we don't need to make changes in
6.2.0. We'll revisit this for the next release where we probably should
use per platform JSON files.
@dschaefer2 dschaefer2 requested a review from a team as a code owner September 11, 2025 14:23
@dschaefer2
Copy link
Member Author

@swift-ci please test

@dschaefer2
Copy link
Member Author

@swift-ci please test linux

@dschaefer2 dschaefer2 merged commit 435d711 into swiftlang:release/6.2.1 Sep 14, 2025
6 checks passed
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