@@ -63,6 +63,58 @@ add_swift_target_library(swiftGlibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_O
63
63
INSTALL_IN_COMPONENT sdk-overlay
64
64
DEPENDS glibc_modulemap )
65
65
66
+ if (WASI IN_LIST SWIFT_SDKS )
67
+ set (arch_subdir "${SWIFT_SDK_WASI_LIB_SUBDIR} /wasm32" )
68
+ set (module_dir "${SWIFTLIB_DIR} /${arch_subdir} " )
69
+ set (module_dir_static "${SWIFTSTATICLIB_DIR} /${arch_subdir} " )
70
+ set (wasi_libc_modulemap_out "${module_dir} /wasi.modulemap" )
71
+ set (wasi_libc_modulemap_out_static "${module_dir_static} /wasi.modulemap" )
72
+ handle_gyb_source_single (wasi_libc_modulemap_target
73
+ SOURCE "wasi.modulemap.gyb"
74
+ OUTPUT "${wasi_libc_modulemap_out} "
75
+ FLAGS "-DLIBC_INCLUDE_PATH=${SWIFT_SDK_WASI_ARCH_wasm32_LIBC_INCLUDE_DIRECTORY} "
76
+ "-DLIBC_ARCH_INCLUDE_PATH=${SWIFT_SDK_WASI_ARCH_wasm32_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY} " )
77
+ add_custom_command_target (
78
+ copy_wasi_libc_modulemap_static
79
+ COMMAND
80
+ "${CMAKE_COMMAND} " "-E" "make_directory" ${module_dir_static}
81
+ COMMAND
82
+ "${CMAKE_COMMAND} " "-E" "copy" ${wasi_libc_modulemap_out} ${wasi_libc_modulemap_out_static}
83
+ OUTPUT ${wasi_libc_modulemap_out_static}
84
+ DEPENDS
85
+ "${wasi_libc_modulemap_target} "
86
+ COMMENT "Copying WASILlibc modulemap to static resources" )
87
+
88
+ add_swift_target_library (swiftWASILibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
89
+ ${swift_platform_sources}
90
+ POSIXError.swift
91
+
92
+ GYB_SOURCES
93
+ ${swift_platform_gyb_sources}
94
+ WASI.swift.gyb
95
+
96
+ SWIFT_COMPILE_FLAGS
97
+ ${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}
98
+ ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
99
+ LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS} "
100
+ TARGET_SDKS WASI
101
+ INSTALL_IN_COMPONENT sdk-overlay
102
+ DEPENDS ${wasi_libc_modulemap_target} ${copy_wasi_libc_modulemap_static} )
103
+
104
+ swift_install_in_component (FILES "${wasi_libc_modulemap_out} "
105
+ DESTINATION "lib/swift/${arch_subdir} "
106
+ COMPONENT sdk-overlay )
107
+
108
+ swift_install_in_component (FILES "${wasi_libc_modulemap_out} "
109
+ DESTINATION "lib/swift_static/${arch_subdir} "
110
+ COMPONENT sdk-overlay )
111
+
112
+ add_custom_target (wasi_libc_modulemap
113
+ DEPENDS ${wasi_libc_modulemap_target} ${copy_wasi_libc_modulemap_static} )
114
+ set_property (TARGET wasi_libc_modulemap PROPERTY FOLDER "Miscellaneous" )
115
+ add_dependencies (sdk-overlay wasi_libc_modulemap )
116
+ endif ()
117
+
66
118
add_swift_target_library (swiftCRT ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY
67
119
ucrt.swift
68
120
${swift_platform_sources}
0 commit comments