Skip to content

Conversation

dschaefer2
Copy link
Member

@dschaefer2 dschaefer2 commented Sep 30, 2025

Previously the library would be built from source and then link together with the prebuilt to create the macro executable. That causes a crash in the macro when building for debug (the prebuilts were built for release).

This change extends what we build using the prebuilt to all targets when built for host. It will continue to build from source when targets are built for destination. This will include plugin tools as well. The separation of build output between host and destination (which is potentially a different platform) makes this work.

This is accomplished by recording in the BuildEnvironment whether the destination was host and the adding in an internal HostCondition that checks it in it's satisfy method.

Previously the library would be built from source and then link
together with the prebuilt to create the macro executable. That
causes a crash in the macro.

This change extends what we build using the prebuilt to all targets
when built for host. It will continue to build from source when
targets are built for destination. This will include plugin tools
as well. The separation of build output between host and
destination (which is potentially a different platform) makes
this work.

This is accomplished by recording in the BuildEnvironment whether
the destination was host and the adding in an internal
HostCondition that checks it in it's satisfy method.
@dschaefer2
Copy link
Member Author

@swift-ci please test

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