@@ -152,17 +152,8 @@ option(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING
152
152
"Enable build of the embedded Swift standard library and runtime for cross-compiling targets"
153
153
FALSE )
154
154
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" ))
163
156
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} )
166
157
elseif (BOOTSTRAPPING_MODE STREQUAL "OFF" )
167
158
set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
168
159
endif ()
@@ -214,10 +205,6 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING)
214
205
list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
215
206
"i686 i686-unknown-none-elf i686-unknown-none-elf"
216
207
"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"
221
208
)
222
209
endif ()
223
210
@@ -231,21 +218,40 @@ endif()
231
218
232
219
if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB )
233
220
if (SWIFT_HOST_VARIANT STREQUAL "linux" )
234
- set ( EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
221
+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
235
222
"${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
236
223
# In practice this expands to either:
237
224
# "x86_64 x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu"
238
225
# "aarch64 aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu"
239
- )
226
+ )
240
227
elseif (SWIFT_HOST_VARIANT STREQUAL "macosx" )
241
- set ( EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
228
+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
242
229
"x86_64 x86_64-apple-macos x86_64-apple-macos14"
243
230
"arm64 arm64-apple-macos arm64-apple-macos14"
244
231
"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
+ )
246
240
endif ()
247
241
endif ()
248
242
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
+
249
255
if (SWIFT_BUILD_STDLIB )
250
256
# These must be kept in dependency order so that any referenced targets
251
257
# exist at the time we look for them in add_swift_*.
0 commit comments