@@ -98,90 +98,21 @@ add_swift_target_library(swiftGlibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_O
9898 INSTALL_IN_COMPONENT sdk-overlay
9999 DEPENDS glibc_modulemap)
100100
101- if (WASI IN_LIST SWIFT_SDKS)
102- set (arch_subdir "${SWIFT_SDK_WASI_LIB_SUBDIR} /wasm32" )
103- set (module_dir "${SWIFTLIB_DIR} /${arch_subdir} " )
104- set (module_dir_static "${SWIFTSTATICLIB_DIR} /${arch_subdir} " )
105- set (wasi_libc_modulemap_out "${module_dir} /wasi.modulemap" )
106- set (wasi_libc_modulemap_out_static "${module_dir_static} /wasi.modulemap" )
107- set (wasi_libc_modulemap_target_list)
108- handle_gyb_source_single(wasi_libc_modulemap_target
109- SOURCE "wasi.modulemap.gyb"
110- OUTPUT "${wasi_libc_modulemap_out} "
111- FLAGS "-DLIBC_INCLUDE_PATH=${SWIFT_SDK_WASI_ARCH_wasm32_LIBC_INCLUDE_DIRECTORY} "
112- "-DLIBC_ARCH_INCLUDE_PATH=${SWIFT_SDK_WASI_ARCH_wasm32_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY} " )
113- list (APPEND wasi_libc_modulemap_target_list ${wasi_libc_modulemap_target} )
114-
115- add_custom_command_target(
116- copy_wasi_libc_modulemap_static
117- COMMAND
118- "${CMAKE_COMMAND} " "-E" "make_directory" ${module_dir_static}
119- COMMAND
120- "${CMAKE_COMMAND} " "-E" "copy" ${wasi_libc_modulemap_out} ${wasi_libc_modulemap_out_static}
121- OUTPUT ${wasi_libc_modulemap_out_static}
122- DEPENDS
123- "${wasi_libc_modulemap_target} "
124- COMMENT "Copying WASILlibc modulemap to static resources" )
125-
126- list (APPEND wasi_libc_modulemap_target_list ${copy_wasi_libc_modulemap_static} )
127-
128- set (wasi_libc_header_out "${module_dir} /SwiftWASILibc.h" )
129- set (wasi_libc_header_out_static "${module_dir_static} /SwiftWASILibc.h" )
130- handle_gyb_source_single(wasi_libc_header_target
131- SOURCE "SwiftWASILibc.h.gyb"
132- OUTPUT "${wasi_libc_header_out} "
133- FLAGS "-DCMAKE_SDK=${sdk} " )
134- list (APPEND wasi_libc_modulemap_target_list ${wasi_libc_header_target} )
135-
136- add_custom_command_target(
137- copy_wasi_libc_header_static
138- COMMAND
139- "${CMAKE_COMMAND} " "-E" "make_directory" ${module_dir_static}
140- COMMAND
141- "${CMAKE_COMMAND} " "-E" "copy" ${wasi_libc_header_out} ${wasi_libc_header_out_static}
142- OUTPUT ${wasi_libc_header_out_static}
143- DEPENDS
144- "${wasi_libc_header_target} "
145- COMMENT "Copying WASILlibc header to static resources" )
146- list (APPEND wasi_libc_modulemap_target_list ${copy_wasi_libc_header_static} )
147-
148- add_swift_target_library(swiftWASILibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
149- ${swift_platform_sources}
150- POSIXError.swift
101+ add_swift_target_library(swiftWASILibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
102+ ${swift_platform_sources}
103+ POSIXError.swift
151104
152- GYB_SOURCES
153- ${swift_platform_gyb_sources}
154- WASI.swift.gyb
105+ GYB_SOURCES
106+ ${swift_platform_gyb_sources}
107+ WASI.swift.gyb
155108
156- SWIFT_COMPILE_FLAGS
157- ${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}
158- ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
159- LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS} "
160- TARGET_SDKS WASI
161- INSTALL_IN_COMPONENT sdk-overlay
162- DEPENDS ${wasi_libc_modulemap_target_list} )
163-
164- swift_install_in_component(FILES "${wasi_libc_modulemap_out} "
165- DESTINATION "lib/swift/${arch_subdir} "
166- COMPONENT sdk-overlay)
167-
168- swift_install_in_component(FILES "${wasi_libc_modulemap_out} "
169- DESTINATION "lib/swift_static/${arch_subdir} "
170- COMPONENT sdk-overlay)
171-
172- swift_install_in_component(FILES "${wasi_libc_header_out} "
173- DESTINATION "lib/swift/${arch_subdir} "
174- COMPONENT sdk-overlay)
175-
176- swift_install_in_component(FILES "${wasi_libc_header_out} "
177- DESTINATION "lib/swift_static/${arch_subdir} "
178- COMPONENT sdk-overlay)
179-
180- add_custom_target (wasi_libc_modulemap
181- DEPENDS ${wasi_libc_modulemap_target_list} )
182- set_property (TARGET wasi_libc_modulemap PROPERTY FOLDER "Miscellaneous" )
183- add_dependencies (sdk-overlay wasi_libc_modulemap)
184- endif ()
109+ SWIFT_COMPILE_FLAGS
110+ ${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}
111+ ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
112+ LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS} "
113+ TARGET_SDKS WASI
114+ INSTALL_IN_COMPONENT sdk-overlay
115+ DEPENDS glibc_modulemap)
185116
186117add_swift_target_library(swiftCRT ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
187118 ucrt.swift
@@ -202,23 +133,31 @@ add_swift_target_library(swiftCRT ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVE
202133
203134set (glibc_modulemap_target_list)
204135foreach (sdk ${SWIFT_SDKS} )
205- if (NOT "${sdk} " STREQUAL "LINUX" AND
206- NOT "${sdk} " STREQUAL "FREEBSD" AND
207- NOT "${sdk} " STREQUAL "OPENBSD" AND
208- NOT "${sdk} " STREQUAL "ANDROID" AND
209- NOT "${sdk} " STREQUAL "CYGWIN" AND
210- NOT "${sdk} " STREQUAL "HAIKU" )
136+ if ("${sdk} " STREQUAL "LINUX" OR
137+ "${sdk} " STREQUAL "FREEBSD" OR
138+ "${sdk} " STREQUAL "OPENBSD" OR
139+ "${sdk} " STREQUAL "ANDROID" OR
140+ "${sdk} " STREQUAL "CYGWIN" OR
141+ "${sdk} " STREQUAL "HAIKU" )
142+ set (glibc_modulemap_source "glibc.modulemap.gyb" )
143+ set (glibc_header_source "SwiftGlibc.h.gyb" )
144+ elseif ("${sdk} " STREQUAL "WASI" )
145+ set (glibc_modulemap_source "wasi.modulemap.gyb" )
146+ set (glibc_header_source "SwiftWASILibc.h.gyb" )
147+ else ()
211148 continue ()
212149 endif ()
213150
151+ string (REGEX REPLACE "\\ .gyb$" "" glibc_modulemap_outname "${glibc_modulemap_source} " )
152+ string (REGEX REPLACE "\\ .gyb$" "" glibc_header_outname "${glibc_header_source} " )
153+
214154 foreach (arch ${SWIFT_SDK_${sdk} _ARCHITECTURES})
215155 set (arch_subdir "${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} " )
216156 set (module_dir "${SWIFTLIB_DIR} /${arch_subdir} " )
217157 set (module_dir_static "${SWIFTSTATICLIB_DIR} /${arch_subdir} " )
218158
219- set (glibc_modulemap_source "glibc.modulemap.gyb" )
220- set (glibc_modulemap_out "${module_dir} /glibc.modulemap" )
221- set (glibc_modulemap_out_static "${module_dir_static} /glibc.modulemap" )
159+ set (glibc_modulemap_out "${module_dir} /${glibc_modulemap_outname} " )
160+ set (glibc_modulemap_out_static "${module_dir_static} /${glibc_modulemap_outname} " )
222161
223162 # Configure the module map based on the target. Each platform needs to
224163 # reference different headers, based on what's available in their glibc.
@@ -232,10 +171,10 @@ foreach(sdk ${SWIFT_SDKS})
232171
233172 list (APPEND glibc_modulemap_target_list ${glibc_modulemap_target} )
234173
235- set (glibc_header_out "${module_dir} /SwiftGlibc.h " )
236- set (glibc_header_out_static "${module_dir_static} /SwiftGlibc.h " )
174+ set (glibc_header_out "${module_dir} /${glibc_header_outname} " )
175+ set (glibc_header_out_static "${module_dir_static} /${glibc_header_outname} " )
237176 handle_gyb_source_single(glibc_header_target
238- SOURCE "SwiftGlibc.h.gyb "
177+ SOURCE "${glibc_header_source} "
239178 OUTPUT "${glibc_header_out} "
240179 FLAGS "-DCMAKE_SDK=${sdk} " )
241180 list (APPEND glibc_modulemap_target_list ${glibc_header_target} )
@@ -266,7 +205,7 @@ foreach(sdk ${SWIFT_SDKS})
266205 # prefix. This is the one we'll install instead.
267206 if (NOT "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _ARCH_${arch} _PATH}" STREQUAL "/" AND
268207 NOT (${sdk} STREQUAL ANDROID AND NOT "${SWIFT_ANDROID_NATIVE_SYSROOT} " STREQUAL "" ))
269- set (glibc_sysroot_relative_modulemap_out "${module_dir} /sysroot-relative-modulemaps/glibc.modulemap " )
208+ set (glibc_sysroot_relative_modulemap_out "${module_dir} /sysroot-relative-modulemaps/${glibc_modulemap_outname} " )
270209
271210 handle_gyb_source_single(glibc_modulemap_native_target
272211 SOURCE "${glibc_modulemap_source} "
0 commit comments