@@ -155,7 +155,10 @@ option(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING
155
155
set (SWIFT_EMBEDDED_STDLIB_EXTRA_TARGET_TRIPLES "" CACHE STRING
156
156
"List of extra target triples to build the embedded Swift standard library for" )
157
157
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" ))
159
162
set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
160
163
elseif (BOOTSTRAPPING_MODE STREQUAL "OFF" )
161
164
set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
@@ -168,68 +171,76 @@ endif()
168
171
set (EMBEDDED_STDLIB_TARGET_TRIPLES )
169
172
170
173
if (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.
172
177
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"
179
179
)
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 ()
189
227
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 ()
217
234
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 ( )
223
240
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 ()
230
241
endif ()
231
242
232
- if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB )
243
+ if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB AND NOT SWIFT_WASI_SYSROOT_PATH )
233
244
if (SWIFT_HOST_VARIANT STREQUAL "linux" )
234
245
list (APPEND EMBEDDED_STDLIB_TARGET_TRIPLES
235
246
"${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
0 commit comments