-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Add presets for OpenBSD bootstrapping. #83355
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
|
@swift-ci please smoke test. |
|
@swift-ci please test. |
|
@swift-ci please test macOS platform. |
2 similar comments
|
@swift-ci please test macOS platform. |
|
@swift-ci please test macOS platform. |
|
@swift-ci please smoke test. |
|
@swift-ci please smoke test. |
|
@swift-ci please smoke test. |
|
@swift-ci please smoke test. |
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.
|
@swift-ci please smoke test. |
|
Okay, this should be good to go; I think I confused myself with some non-clean builds. |
|
@etcwilde since you added the inheriting presets, would you mind reviewing? |
|
Ping. |
|
Ping |
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.