build: Further fixes for Cxx w/o stdlib. #65217
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #65172 I tried to fix a problem when the Cxx module is enabled, but we are not building the stdlib. The fix work for
swiftCxx, but I failed to to realize thatswiftCxxStdliboverlay is also built, which needs parts of the stdlib.The original #65055 only built the Cxx module when
EXTRA_TOOLCHAIN_CONTENTwas set, but #65122 changed so it was two independent checks. A more faithful fix will had been to nest theifas I am trying to do with this PR. Parts of #65172 are still necessary to build in every case, though: theswiftCxxtarget is dependent on the Clang headers and the legacy layouts. Those two pieces are normally in place because of other targets in upstream builds, but fail to materialize when the stdlib is trying to be built with the host compiler in isolation.This one and #65172 will need to be cherry-picked to 5.9 because #65055 and #65122 where cherry-picked, so 5.9 is having the same problems as
main.