Skip to content

Conversation

dschaefer2
Copy link
Member

Cherry pick of #9112 from main.

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. We use strings for the manifest and correct the slashes before writing them in the generator. We then convert them back to RelativePaths on the client side.

…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 01:14
@dschaefer2 dschaefer2 changed the title Make sure we don't get backslashes in the Prebuilts Manifest [6.2] Make sure we don't get backslashes in the Prebuilts Manifest Sep 11, 2025
@dschaefer2
Copy link
Member Author

@swift-ci please test

@dschaefer2
Copy link
Member Author

@swift-ci please test windows

@dschaefer2 dschaefer2 merged commit 9ec73bf into swiftlang:release/6.2 Sep 12, 2025
6 checks passed
dschaefer2 added a commit that referenced this pull request Sep 14, 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.
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