@@ -33,8 +33,13 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/alltypes.h.gen
3333 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/arch/wasm32/bits/alltypes.h.in
3434 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/alltypes.h.in )
3535
36- add_custom_command (OUTPUT ${CMAKE_BINARY_DIR} /sysroot
37- COMMAND ${CMAKE_COMMAND} -E make_directory
36+ add_custom_command (
37+ OUTPUT
38+ ${CMAKE_BINARY_DIR} /sysroot
39+ ${CMAKE_BINARY_DIR} /sysroot/share/include-all.c
40+
41+ COMMAND
42+ ${CMAKE_COMMAND} -E make_directory
3843 ${CMAKE_BINARY_DIR} /sysroot/include/
3944 ${CMAKE_BINARY_DIR} /sysroot/include/arpa/
4045 ${CMAKE_BINARY_DIR} /sysroot/include/bits/
@@ -43,7 +48,8 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/sysroot
4348 ${CMAKE_BINARY_DIR} /sysroot/include/sys/
4449 ${CMAKE_BINARY_DIR} /sysroot/include/wasi/
4550
46- COMMAND ${CMAKE_COMMAND} -E copy_if_different
51+ COMMAND
52+ ${CMAKE_COMMAND} -E copy_if_different
4753 ${PROJECT_SOURCE_DIR} /basics/include/__errno.h
4854 ${PROJECT_SOURCE_DIR} /basics/include/__functions_malloc.h
4955 ${PROJECT_SOURCE_DIR} /basics/include/__functions_memcpy.h
@@ -178,7 +184,8 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/sysroot
178184 $<$<BOOL :ENABLE_THREADS >:${PROJECT_SOURCE_DIR} /libc -top -half /musl /include /pthread .h >
179185 ${CMAKE_BINARY_DIR} /sysroot/include/
180186
181- COMMAND ${CMAKE_COMMAND} -E copy_if_different
187+ COMMAND
188+ ${CMAKE_COMMAND} -E copy_if_different
182189 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/arpa/ftp.h
183190 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/arpa/inet.h
184191 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/arpa/nameser_compat.h
@@ -187,7 +194,8 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/sysroot
187194 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/arpa/tftp.h
188195 ${CMAKE_BINARY_DIR} /sysroot/include/arpa/
189196
190- COMMAND ${CMAKE_COMMAND} -E copy_if_different
197+ COMMAND
198+ ${CMAKE_COMMAND} -E copy_if_different
191199 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/arch/generic/bits/fenv.h
192200 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/arch/generic/bits/hwcap.h
193201 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/arch/generic/bits/ioctl_fix.h
@@ -210,7 +218,8 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/sysroot
210218 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/arch/wasm32/bits/stdint.h
211219 ${CMAKE_BINARY_DIR} /sysroot/include/bits/
212220
213- COMMAND ${CMAKE_COMMAND} -E copy_if_different
221+ COMMAND
222+ ${CMAKE_COMMAND} -E copy_if_different
214223 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/netinet/icmp6.h
215224 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/netinet/igmp.h
216225 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/netinet/in.h
@@ -222,11 +231,13 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/sysroot
222231 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/netinet/udp.h
223232 ${CMAKE_BINARY_DIR} /sysroot/include/netinet/
224233
225- COMMAND ${CMAKE_COMMAND} -E copy_if_different
234+ COMMAND
235+ ${CMAKE_COMMAND} -E copy_if_different
226236 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/netpacket/packet.h
227- ${CMAKE_BINARY_DIR} /sysroot/include/netpacket/
237+ ${CMAKE_BINARY_DIR} /sysroot/include/netpacket/
228238
229- COMMAND ${CMAKE_COMMAND} -E copy_if_different
239+ COMMAND
240+ ${CMAKE_COMMAND} -E copy_if_different
230241 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/sys/dir.h
231242 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/sys/errno.h
232243 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/sys/eventfd.h
@@ -257,22 +268,33 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/sysroot
257268 ${PROJECT_SOURCE_DIR} /libc-top-half/musl/include/sys/utsname.h
258269 ${CMAKE_BINARY_DIR} /sysroot/include/sys/
259270
260- COMMAND ${CMAKE_COMMAND} -E copy_if_different
271+ COMMAND
272+ ${CMAKE_COMMAND} -E copy_if_different
261273 ${PROJECT_SOURCE_DIR} /libc-bottom-half/headers/public/wasi/api.h
262274 ${PROJECT_SOURCE_DIR} /libc-bottom-half/headers/public/wasi/libc-find-relpath.h
263275 ${PROJECT_SOURCE_DIR} /libc-bottom-half/headers/public/wasi/libc.h
264276 ${CMAKE_BINARY_DIR} /sysroot/include/wasi/
265277
266- COMMAND ${CMAKE_COMMAND} -E copy_if_different
278+ COMMAND
279+ ${CMAKE_COMMAND} -E copy_if_different
267280 ${CMAKE_BINARY_DIR} /alltypes.h.gen
268281 ${CMAKE_BINARY_DIR} /sysroot/include/bits/alltypes.h
269282
283+ COMMAND
284+ ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR} /sysroot/share
285+
286+ COMMAND
287+ ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR} /tools/gen-predefined-macros.py
288+ --cc ${CMAKE_C_COMPILER}
289+ --output-directory ${CMAKE_BINARY_DIR} /sysroot/share
290+ --sysroot ${CMAKE_BINARY_DIR} /sysroot
291+ -target ${CMAKE_C_COMPILER_TARGET} -O2 -DNDEBUG
292+
270293 DEPENDS
294+ ${PROJECT_SOURCE_DIR} /tools/gen-predefined-macros.py
271295 ${CMAKE_BINARY_DIR} /alltypes.h.gen )
272296add_custom_target (sysroot-headers DEPENDS ${CMAKE_BINARY_DIR} /sysroot )
273297
274-
275-
276298# startup files
277299add_library (crt1 OBJECT
278300 libc-bottom-half/crt/crt1.c )
0 commit comments