Skip to content

Conversation

3405691582
Copy link
Member

@3405691582 3405691582 commented Jul 27, 2025

OpenBSD requires a minor quirk that differ from the standard bootstrapping presets, namely, that because OpenBSD has a modified LLVM toolchain by default, the build process should use that platform toolchain and not the one just-built by the Swift process.

More specifically, Swift will still build against the Swift fork of LLVM, but host binaries will be built with the platform toolchain. This also necessitates using pure bridging instead of the default inline bridging.

In my limited testing this has not proven to be problematic, and it will be useful for future documentation updates to embed actual presets for shared use.

Finally, we ensure that the destdir for these presets are /usr/local, not /usr, as is conventional for software sourced outside of the platform; these are not critical for bootstrapping but will ensure that less changes will need to be made for creating installable packages.

@3405691582
Copy link
Member Author

@swift-ci please smoke test.

@3405691582
Copy link
Member Author

@swift-ci please test.

@3405691582
Copy link
Member Author

@swift-ci please test macOS platform.

2 similar comments
@3405691582
Copy link
Member Author

@swift-ci please test macOS platform.

@3405691582
Copy link
Member Author

@swift-ci please test macOS platform.

@3405691582
Copy link
Member Author

@swift-ci please smoke test.

@3405691582
Copy link
Member Author

@swift-ci please smoke test.

@3405691582
Copy link
Member Author

@swift-ci please smoke test.

@3405691582
Copy link
Member Author

@swift-ci please smoke test.

@3405691582 3405691582 marked this pull request as draft August 2, 2025 22:30
OpenBSD requires a minor quirk that differ from the standard
bootstrapping presets, namely, that because OpenBSD has a modified
LLVM toolchain by default, the build process should use that platform
toolchain and not the one just-built by the Swift process.

More specifically, Swift will still build against the Swift fork of
LLVM, but host binaries will be built with the platform toolchain.
This also necessitates using pure bridging instead of the default inline
bridging.

In my limited testing this has not proven to be problematic, and it will
be useful for future documentation updates to embed actual presets for
shared use.

Finally, we ensure that the destdir for these presets are /usr/local, not
/usr, as is conventional for software sourced outside of the platform;
these are not critical for bootstrapping but will ensure that less
changes will need to be made for creating installable packages.
@3405691582
Copy link
Member Author

@swift-ci please smoke test.

@3405691582 3405691582 marked this pull request as ready for review August 3, 2025 15:12
@3405691582
Copy link
Member Author

Okay, this should be good to go; I think I confused myself with some non-clean builds.

@3405691582
Copy link
Member Author

@etcwilde since you added the inheriting presets, would you mind reviewing?

@3405691582
Copy link
Member Author

Ping.

@3405691582
Copy link
Member Author

Ping

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.

1 participant