@@ -155,7 +155,10 @@ option(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING
155155set (SWIFT_EMBEDDED_STDLIB_EXTRA_TARGET_TRIPLES "" CACHE STRING
156156 "List of extra target triples to build the embedded Swift standard library for" )
157157
158- if ((NOT SWIFT_HOST_VARIANT STREQUAL "macosx" ) AND (NOT SWIFT_HOST_VARIANT STREQUAL "linux" ) AND (NOT SWIFT_HOST_VARIANT STREQUAL "windows" ))
158+ if ((NOT SWIFT_HOST_VARIANT STREQUAL "macosx" ) AND
159+ (NOT SWIFT_HOST_VARIANT STREQUAL "linux" ) AND
160+ (NOT SWIFT_HOST_VARIANT STREQUAL "wasi" ) AND
161+ (NOT SWIFT_HOST_VARIANT STREQUAL "windows" ))
159162 set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
160163elseif (BOOTSTRAPPING_MODE STREQUAL "OFF" )
161164 set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
@@ -168,68 +171,76 @@ endif()
168171set (EMBEDDED_STDLIB_TARGET_TRIPLES)
169172
170173if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING)
171- if ("ARM" IN_LIST LLVM_TARGETS_TO_BUILD)
174+ if (SWIFT_WASI_SYSROOT_PATH)
175+ # Don't attempt to build any other Embedded Swift stdlib triples
176+ # when building for WASI.
172177 list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
173- # arch module_name target triple
174- "armv6 armv6-apple-none-macho armv6-apple-none-macho"
175- "armv6m armv6m-apple-none-macho armv6m-apple-none-macho"
176- "armv7 armv7-apple-none-macho armv7-apple-none-macho"
177- "armv7m armv7m-apple-none-macho armv7m-apple-none-macho"
178- "armv7em armv7em-apple-none-macho armv7em-apple-none-macho"
178+ "wasm32 wasm32-unknown-wasip1 wasm32-unknown-wasip1"
179179 )
180- endif ()
181- if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD)
182- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
183- "arm64 arm64-apple-none-macho arm64-apple-none-macho"
184- "arm64e arm64e-apple-none-macho arm64e-apple-none-macho"
185- "arm64 arm64-apple-ios arm64-apple-ios18"
186- "arm64e arm64e-apple-ios arm64e-apple-ios18"
187- )
188- endif ()
180+ else ()
181+ if ("ARM" IN_LIST LLVM_TARGETS_TO_BUILD)
182+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
183+ # arch module_name target triple
184+ "armv6 armv6-apple-none-macho armv6-apple-none-macho"
185+ "armv6m armv6m-apple-none-macho armv6m-apple-none-macho"
186+ "armv7 armv7-apple-none-macho armv7-apple-none-macho"
187+ "armv7m armv7m-apple-none-macho armv7m-apple-none-macho"
188+ "armv7em armv7em-apple-none-macho armv7em-apple-none-macho"
189+ )
190+ endif ()
191+ if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD)
192+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
193+ "arm64 arm64-apple-none-macho arm64-apple-none-macho"
194+ "arm64e arm64e-apple-none-macho arm64e-apple-none-macho"
195+ "arm64 arm64-apple-ios arm64-apple-ios18"
196+ "arm64e arm64e-apple-ios arm64e-apple-ios18"
197+ )
198+ endif ()
199+
200+ # the following are all ELF targets
201+ if ("ARM" IN_LIST LLVM_TARGETS_TO_BUILD)
202+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
203+ "armv4t armv4t-none-none-eabi armv4t-none-none-eabi"
204+ "armv6 armv6-none-none-eabi armv6-none-none-eabi"
205+ "armv6m armv6m-none-none-eabi armv6m-none-none-eabi"
206+ "armv7 armv7-none-none-eabi armv7-none-none-eabi"
207+ "armv7em armv7em-none-none-eabi armv7em-none-none-eabi"
208+ )
209+ endif ()
210+ if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD)
211+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
212+ "aarch64 aarch64-none-none-elf aarch64-none-none-elf"
213+ )
214+ endif ()
215+ if ("RISCV" IN_LIST LLVM_TARGETS_TO_BUILD)
216+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
217+ "riscv32 riscv32-none-none-eabi riscv32-none-none-eabi"
218+ "riscv64 riscv64-none-none-eabi riscv64-none-none-eabi"
219+ )
220+ endif ()
221+ if ("X86" IN_LIST LLVM_TARGETS_TO_BUILD)
222+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
223+ "i686 i686-unknown-none-elf i686-unknown-none-elf"
224+ "x86_64 x86_64-unknown-none-elf x86_64-unknown-none-elf"
225+ )
226+ endif ()
189227
190- # the following are all ELF targets
191- if ("ARM" IN_LIST LLVM_TARGETS_TO_BUILD)
192- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
193- "armv4t armv4t-none-none-eabi armv4t-none-none-eabi"
194- "armv6 armv6-none-none-eabi armv6-none-none-eabi"
195- "armv6m armv6m-none-none-eabi armv6m-none-none-eabi"
196- "armv7 armv7-none-none-eabi armv7-none-none-eabi"
197- "armv7em armv7em-none-none-eabi armv7em-none-none-eabi"
198- )
199- endif ()
200- if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD)
201- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
202- "aarch64 aarch64-none-none-elf aarch64-none-none-elf"
203- )
204- endif ()
205- if ("RISCV" IN_LIST LLVM_TARGETS_TO_BUILD)
206- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
207- "riscv32 riscv32-none-none-eabi riscv32-none-none-eabi"
208- "riscv64 riscv64-none-none-eabi riscv64-none-none-eabi"
209- )
210- endif ()
211- if ("X86" IN_LIST LLVM_TARGETS_TO_BUILD)
212- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
213- "i686 i686-unknown-none-elf i686-unknown-none-elf"
214- "x86_64 x86_64-unknown-none-elf x86_64-unknown-none-elf"
215- )
216- endif ()
228+ if ("WebAssembly" IN_LIST LLVM_TARGETS_TO_BUILD)
229+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
230+ "wasm32 wasm32-unknown-none-wasm wasm32-unknown-none-wasm"
231+ "wasm64 wasm64-unknown-none-wasm wasm64-unknown-none-wasm"
232+ )
233+ endif ()
217234
218- if ("WebAssembly " IN_LIST LLVM_TARGETS_TO_BUILD)
219- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
220- "wasm32 wasm32-unknown -none-wasm wasm32-unknown -none-wasm "
221- "wasm64 wasm64-unknown-none-wasm wasm64-unknown-none-wasm"
222- )
235+ if ("AVR " IN_LIST LLVM_TARGETS_TO_BUILD)
236+ list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
237+ "avr avr-none -none-elf avr-none -none-elf "
238+ )
239+ endif ( )
223240 endif ()
224-
225- if ("AVR" IN_LIST LLVM_TARGETS_TO_BUILD)
226- list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
227- "avr avr-none-none-elf avr-none-none-elf"
228- )
229- endif ()
230241endif ()
231242
232- if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
243+ if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB AND NOT SWIFT_WASI_SYSROOT_PATH )
233244 if (SWIFT_HOST_VARIANT STREQUAL "linux" )
234245 list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
235246 "${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
0 commit comments