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