@@ -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 ()
@@ -210,10 +201,6 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING)
210201 list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
211202 "i686 i686-unknown-none-elf i686-unknown-none-elf"
212203 "x86_64 x86_64-unknown-none-elf x86_64-unknown-none-elf"
213- # Without specifying the `windows` component LLVM refuses to
214- # generate valid COFF object files.
215- "i686 i686-unknown-windows-msvc i686-unknown-windows-msvc"
216- "x86_64 x86_64-unknown-windows-msvc x86_64-unknown-windows-msvc"
217204 )
218205 endif ()
219206
@@ -227,21 +214,40 @@ endif()
227214
228215if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
229216 if (SWIFT_HOST_VARIANT STREQUAL "linux" )
230- set (EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
217+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
231218 "${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
232219 # In practice this expands to either:
233220 # "x86_64 x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu"
234221 # "aarch64 aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu"
235- )
222+ )
236223 elseif (SWIFT_HOST_VARIANT STREQUAL "macosx" )
237- set (EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
224+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
238225 "x86_64 x86_64-apple-macos x86_64-apple-macos14"
239226 "arm64 arm64-apple-macos arm64-apple-macos14"
240227 "arm64e arm64e-apple-macos arm64e-apple-macos14"
241- )
228+ )
229+ elseif (SWIFT_HOST_VARIANT STREQUAL "windows" )
230+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
231+ # Without specifying the `windows` component LLVM refuses to
232+ # generate valid COFF object files.
233+ "i686 i686-unknown-windows-msvc i686-unknown-windows-msvc"
234+ "x86_64 x86_64-unknown-windows-msvc x86_64-unknown-windows-msvc"
235+ )
242236 endif ()
243237endif ()
244238
239+ if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
240+ set (triples)
241+ foreach (entry ${EMBEDDED_STDLIB_TARGET_TRIPLES} )
242+ string (REGEX REPLACE "[ \t ]+" ";" list "${entry} " )
243+ list (GET list 2 triple)
244+ list (APPEND triples ${triple} )
245+ endforeach ()
246+
247+ message (STATUS "Building Embedded Swift standard libraries for targets: ${triples} " )
248+ message (STATUS "" )
249+ endif ()
250+
245251if (SWIFT_BUILD_STDLIB)
246252 # These must be kept in dependency order so that any referenced targets
247253 # exist at the time we look for them in add_swift_*.
0 commit comments