@@ -152,17 +152,8 @@ option(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING
152152 "Enable build of the embedded Swift standard library and runtime for cross-compiling targets"
153153 FALSE )
154154
155- # Temporarily, by default only build embedded stdlib when building the compiler, to
156- # unblock CI jobs that run against old(er) toolchains.
157- option (SWIFT_ALLOW_BUILD_EMBEDDED_STDLIB_WITH_HOST_COMPILER
158- "Build embedded Swift standard library and runtime even
159- if we are not building our own compiler"
160- FALSE )
161-
162- if ((NOT SWIFT_HOST_VARIANT STREQUAL "macosx" ) AND (NOT SWIFT_HOST_VARIANT STREQUAL "linux" ))
155+ if ((NOT SWIFT_HOST_VARIANT STREQUAL "macosx" ) AND (NOT SWIFT_HOST_VARIANT STREQUAL "linux" ) AND (NOT SWIFT_HOST_VARIANT STREQUAL "windows" ))
163156 set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
164- elseif (NOT SWIFT_INCLUDE_TOOLS)
165- set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB ${SWIFT_ALLOW_BUILD_EMBEDDED_STDLIB_WITH_HOST_COMPILER} )
166157elseif (BOOTSTRAPPING_MODE STREQUAL "OFF" )
167158 set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
168159endif ()
@@ -214,10 +205,6 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING)
214205 list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
215206 "i686 i686-unknown-none-elf i686-unknown-none-elf"
216207 "x86_64 x86_64-unknown-none-elf x86_64-unknown-none-elf"
217- # Without specifying the `windows` component LLVM refuses to
218- # generate valid COFF object files.
219- "i686 i686-unknown-windows-msvc i686-unknown-windows-msvc"
220- "x86_64 x86_64-unknown-windows-msvc x86_64-unknown-windows-msvc"
221208 )
222209 endif ()
223210
@@ -231,21 +218,40 @@ endif()
231218
232219if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
233220 if (SWIFT_HOST_VARIANT STREQUAL "linux" )
234- set (EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
221+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
235222 "${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
236223 # In practice this expands to either:
237224 # "x86_64 x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu"
238225 # "aarch64 aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu"
239- )
226+ )
240227 elseif (SWIFT_HOST_VARIANT STREQUAL "macosx" )
241- set (EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
228+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
242229 "x86_64 x86_64-apple-macos x86_64-apple-macos14"
243230 "arm64 arm64-apple-macos arm64-apple-macos14"
244231 "arm64e arm64e-apple-macos arm64e-apple-macos14"
245- )
232+ )
233+ elseif (SWIFT_HOST_VARIANT STREQUAL "windows" )
234+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
235+ # Without specifying the `windows` component LLVM refuses to
236+ # generate valid COFF object files.
237+ "i686 i686-unknown-windows-msvc i686-unknown-windows-msvc"
238+ "x86_64 x86_64-unknown-windows-msvc x86_64-unknown-windows-msvc"
239+ )
246240 endif ()
247241endif ()
248242
243+ if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
244+ set (triples)
245+ foreach (entry ${EMBEDDED_STDLIB_TARGET_TRIPLES} )
246+ string (REGEX REPLACE "[ \t ]+" ";" list "${entry} " )
247+ list (GET list 2 triple)
248+ list (APPEND triples ${triple} )
249+ endforeach ()
250+
251+ message (STATUS "Building Embedded Swift standard libraries for targets: ${triples} " )
252+ message (STATUS "" )
253+ endif ()
254+
249255if (SWIFT_BUILD_STDLIB)
250256 # These must be kept in dependency order so that any referenced targets
251257 # exist at the time we look for them in add_swift_*.
0 commit comments