@@ -88,7 +88,7 @@ set(swift_runtime_backtracing_sources
88
88
# Acknowledge that the following sources are known.
89
89
set (LLVM_OPTIONAL_SOURCES
90
90
SwiftRT-COFF.cpp
91
- SwiftRT-ELF.cpp
91
+ SwiftRT-ELF-WASM .cpp
92
92
${swift_runtime_sources}
93
93
${swift_runtime_objc_sources}
94
94
${swift_runtime_leaks_sources}
@@ -140,11 +140,14 @@ add_swift_target_library(swiftRuntime OBJECT_LIBRARY
140
140
141
141
set (ELFISH_SDKS )
142
142
set (COFF_SDKS )
143
+ set (WASM_SDKS )
143
144
foreach (sdk ${SWIFT_SDKS} )
144
145
if ("${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "ELF" )
145
146
list (APPEND ELFISH_SDKS ${sdk} )
146
147
elseif ("${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "COFF" )
147
148
list (APPEND COFF_SDKS ${sdk} )
149
+ elseif ("${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "WASM" )
150
+ list (APPEND WASM_SDKS ${sdk} )
148
151
endif ()
149
152
endforeach ()
150
153
@@ -153,7 +156,7 @@ endforeach()
153
156
# with LTO, force swift runtime to compile without LTO for Linux.
154
157
add_swift_target_library (swiftImageRegistrationObjectELF
155
158
OBJECT_LIBRARY IS_STDLIB IS_STDLIB_CORE
156
- SwiftRT-ELF.cpp
159
+ SwiftRT-ELF-WASM .cpp
157
160
C_COMPILE_FLAGS ${SWIFT_RUNTIME_CORE_CXX_FLAGS}
158
161
C_COMPILE_FLAGS_LINUX -fno-lto
159
162
LINK_FLAGS ${SWIFT_RUNTIME_CORE_LINK_FLAGS}
@@ -171,17 +174,32 @@ add_swift_target_library(swiftImageRegistrationObjectCOFF
171
174
SWIFT_COMPILE_FLAGS ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
172
175
INSTALL_IN_COMPONENT none )
173
176
177
+ add_swift_target_library (swiftImageRegistrationObjectWASM
178
+ OBJECT_LIBRARY IS_STDLIB IS_STDLIB_CORE
179
+ SwiftRT-ELF-WASM.cpp
180
+ C_COMPILE_FLAGS ${SWIFT_RUNTIME_CORE_CXX_FLAGS}
181
+ LINK_FLAGS ${SWIFT_RUNTIME_CORE_LINK_FLAGS}
182
+ TARGET_SDKS ${WASM_SDKS}
183
+ SWIFT_COMPILE_FLAGS ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
184
+ INSTALL_IN_COMPONENT none )
185
+
174
186
foreach (sdk ${SWIFT_SDKS} )
175
187
foreach (arch ${SWIFT_SDK_${sdk}_ARCHITECTURES} )
176
188
set (arch_subdir "${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} " )
177
189
set (arch_suffix "${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} " )
178
190
179
191
if ("${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "ELF" OR
180
- "${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "COFF" )
192
+ "${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "COFF" OR
193
+ "${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "WASM" )
181
194
# TODO(compnerd) switch to the generator expression when cmake is upgraded
182
195
# to a version which supports it.
183
196
# set(swiftrtObject "$<TARGET_OBJECTS:swiftImageRegistrationObject${SWIFT_SDK_${sdk}_OBJECT_FORMAT}-${arch_suffix}>")
184
- set (swiftrtObject ${CMAKE_CURRENT_BINARY_DIR} /CMakeFiles/swiftImageRegistrationObject${SWIFT_SDK_${sdk}_OBJECT_FORMAT}-${arch_suffix}.dir/SwiftRT-${SWIFT_SDK_${sdk}_OBJECT_FORMAT}.cpp${CMAKE_C_OUTPUT_EXTENSION} )
197
+ set (swiftrtSourceName SwiftRT-${SWIFT_SDK_${sdk}_OBJECT_FORMAT}.cpp )
198
+ if ("${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "ELF" OR
199
+ "${SWIFT_SDK_${sdk} _OBJECT_FORMAT}" STREQUAL "WASM" )
200
+ set (swiftrtSourceName SwiftRT-ELF-WASM.cpp )
201
+ endif ()
202
+ set (swiftrtObject ${CMAKE_CURRENT_BINARY_DIR} /CMakeFiles/swiftImageRegistrationObject${SWIFT_SDK_${sdk}_OBJECT_FORMAT}-${arch_suffix}.dir/${swiftrtSourceName}${CMAKE_C_OUTPUT_EXTENSION} )
185
203
186
204
if (sdk STREQUAL WINDOWS )
187
205
set (extension .obj )
0 commit comments