@@ -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 ()
@@ -210,10 +201,6 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING)
210
201
list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
211
202
"i686 i686-unknown-none-elf i686-unknown-none-elf"
212
203
"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"
217
204
)
218
205
endif ()
219
206
@@ -227,21 +214,40 @@ endif()
227
214
228
215
if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB )
229
216
if (SWIFT_HOST_VARIANT STREQUAL "linux" )
230
- set ( EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
217
+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
231
218
"${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
232
219
# In practice this expands to either:
233
220
# "x86_64 x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu"
234
221
# "aarch64 aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu"
235
- )
222
+ )
236
223
elseif (SWIFT_HOST_VARIANT STREQUAL "macosx" )
237
- set ( EMBEDDED_STDLIB_TARGET_TRIPLES ${ EMBEDDED_STDLIB_TARGET_TRIPLES}
224
+ list ( APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
238
225
"x86_64 x86_64-apple-macos x86_64-apple-macos14"
239
226
"arm64 arm64-apple-macos arm64-apple-macos14"
240
227
"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
+ )
242
236
endif ()
243
237
endif ()
244
238
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
+
245
251
if (SWIFT_BUILD_STDLIB )
246
252
# These must be kept in dependency order so that any referenced targets
247
253
# exist at the time we look for them in add_swift_*.
0 commit comments