Don't pass foundation build path to swift-driver/swift-package-manager #74217
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.
Both the swift-driver and swift-package-manager get the Foundation cmake build dir from the build script and pass it along to the Yams build. However, in the case where Foundation has been built via cmake, the Yams build ends up seeing duplicate modules in its search paths - one in the cmake build folder (search path added via the cmake target) and one in the installed toolchain directory (search path added implicitly by the compiler). This results in build failures due to the duplicate clang modules. Previously this was not an issue because all clang modules built by Foundation were private dependencies in cmake, but with the swift-foundation recore we need to make these public dependencies in the cmake graph because we are using
internal import
and not@_implementationOnly
import (since library evolution is not enabled).This should not affect behavior - in all of the cases where Foundation had been built via cmake, Foundation is also already installed into the toolchain and is still in the provided search paths.