You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
build: Fixes for building Cxx module with/without stdlib.
With the changes introduced in #65055, the Cxx module will build even
when not building the stdlib as long as
`SWIFT_BUILD_STDLIB_EXTRA_TOOLCHAIN_CONTENT` was set. With the further changes
in #65122 the previous flag is not necessary, and only
`SWIFT_BUILD_STDLIB_CXX_MODULE` (which defaults to `TRUE`) is necessary.
However, `stdlib/public/Cxx` did rely on `StdlibOptions.cmake` to be
include before it, or the functions that build the target libraries will
find a half configured state. `StdlibOptions.cmake` are included in
`stdlib/toolchain`, in `stdlib/` and `StandaloneOverlay.cmake`. Before
#65122 it was working just because `stdlib/toolchain` was added just
before.
The second change adds a dependency on the legacy layouts, which is
a dependency only added to the libraries of the stdlib core
(IS_STDLIB_CORE flag). Since enabling that flag also enables a bunch
other stuff, and I am not sure that Cxx should be classified as "core"
anyway, I preferred to add the dependency. This is necessary for builds
like the iPhoneOS and iPhoneSimulator, and does not seem to affect
macOS.
0 commit comments