@@ -98,90 +98,21 @@ add_swift_target_library(swiftGlibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_O
98
98
INSTALL_IN_COMPONENT sdk-overlay
99
99
DEPENDS glibc_modulemap )
100
100
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
151
104
152
- GYB_SOURCES
153
- ${swift_platform_gyb_sources}
154
- WASI.swift.gyb
105
+ GYB_SOURCES
106
+ ${swift_platform_gyb_sources}
107
+ WASI.swift.gyb
155
108
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 )
185
116
186
117
add_swift_target_library (swiftCRT ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
187
118
ucrt.swift
@@ -202,23 +133,31 @@ add_swift_target_library(swiftCRT ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVE
202
133
203
134
set (glibc_modulemap_target_list )
204
135
foreach (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 ()
211
148
continue ()
212
149
endif ()
213
150
151
+ string (REGEX REPLACE "\\ .gyb$" "" glibc_modulemap_outname "${glibc_modulemap_source} " )
152
+ string (REGEX REPLACE "\\ .gyb$" "" glibc_header_outname "${glibc_header_source} " )
153
+
214
154
foreach (arch ${SWIFT_SDK_${sdk}_ARCHITECTURES} )
215
155
set (arch_subdir "${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} " )
216
156
set (module_dir "${SWIFTLIB_DIR} /${arch_subdir} " )
217
157
set (module_dir_static "${SWIFTSTATICLIB_DIR} /${arch_subdir} " )
218
158
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} " )
222
161
223
162
# Configure the module map based on the target. Each platform needs to
224
163
# reference different headers, based on what's available in their glibc.
@@ -232,10 +171,10 @@ foreach(sdk ${SWIFT_SDKS})
232
171
233
172
list (APPEND glibc_modulemap_target_list ${glibc_modulemap_target} )
234
173
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} " )
237
176
handle_gyb_source_single (glibc_header_target
238
- SOURCE "SwiftGlibc.h.gyb "
177
+ SOURCE "${glibc_header_source} "
239
178
OUTPUT "${glibc_header_out} "
240
179
FLAGS "-DCMAKE_SDK=${sdk} " )
241
180
list (APPEND glibc_modulemap_target_list ${glibc_header_target} )
@@ -266,7 +205,7 @@ foreach(sdk ${SWIFT_SDKS})
266
205
# prefix. This is the one we'll install instead.
267
206
if (NOT "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _ARCH_${arch} _PATH}" STREQUAL "/" AND
268
207
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} " )
270
209
271
210
handle_gyb_source_single (glibc_modulemap_native_target
272
211
SOURCE "${glibc_modulemap_source} "
0 commit comments