diff --git a/CMakeLists.txt b/CMakeLists.txt index a898c62060..3c4fc666f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -593,6 +593,7 @@ set(ZIG_STAGE2_SOURCES "${CMAKE_SOURCE_DIR}/src/translate_c/ast.zig" "${CMAKE_SOURCE_DIR}/src/type.zig" "${CMAKE_SOURCE_DIR}/src/value.zig" + "${CMAKE_SOURCE_DIR}/src/wasi_libc.zig" "${CMAKE_SOURCE_DIR}/src/windows_sdk.zig" "${CMAKE_SOURCE_DIR}/src/Zir.zig" "${CMAKE_SOURCE_DIR}/src/Sema.zig" diff --git a/lib/libc/include/wasm32-wasi/__errno.h b/lib/libc/include/wasm-wasi-musl/__errno.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__errno.h rename to lib/libc/include/wasm-wasi-musl/__errno.h diff --git a/lib/libc/include/wasm32-wasi/__errno_values.h b/lib/libc/include/wasm-wasi-musl/__errno_values.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__errno_values.h rename to lib/libc/include/wasm-wasi-musl/__errno_values.h diff --git a/lib/libc/include/wasm32-wasi/__fd_set.h b/lib/libc/include/wasm-wasi-musl/__fd_set.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__fd_set.h rename to lib/libc/include/wasm-wasi-musl/__fd_set.h diff --git a/lib/libc/include/wasm32-wasi/__function___isatty.h b/lib/libc/include/wasm-wasi-musl/__function___isatty.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__function___isatty.h rename to lib/libc/include/wasm-wasi-musl/__function___isatty.h diff --git a/lib/libc/include/wasm32-wasi/__functions_malloc.h b/lib/libc/include/wasm-wasi-musl/__functions_malloc.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__functions_malloc.h rename to lib/libc/include/wasm-wasi-musl/__functions_malloc.h diff --git a/lib/libc/include/wasm32-wasi/__functions_memcpy.h b/lib/libc/include/wasm-wasi-musl/__functions_memcpy.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__functions_memcpy.h rename to lib/libc/include/wasm-wasi-musl/__functions_memcpy.h diff --git a/lib/libc/include/wasm32-wasi/__header_dirent.h b/lib/libc/include/wasm-wasi-musl/__header_dirent.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_dirent.h rename to lib/libc/include/wasm-wasi-musl/__header_dirent.h diff --git a/lib/libc/include/wasm32-wasi/__header_fcntl.h b/lib/libc/include/wasm-wasi-musl/__header_fcntl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_fcntl.h rename to lib/libc/include/wasm-wasi-musl/__header_fcntl.h diff --git a/lib/libc/include/wasm32-wasi/__header_inttypes.h b/lib/libc/include/wasm-wasi-musl/__header_inttypes.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_inttypes.h rename to lib/libc/include/wasm-wasi-musl/__header_inttypes.h diff --git a/lib/libc/include/wasm32-wasi/__header_netinet_in.h b/lib/libc/include/wasm-wasi-musl/__header_netinet_in.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_netinet_in.h rename to lib/libc/include/wasm-wasi-musl/__header_netinet_in.h diff --git a/lib/libc/include/wasm32-wasi/__header_poll.h b/lib/libc/include/wasm-wasi-musl/__header_poll.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_poll.h rename to lib/libc/include/wasm-wasi-musl/__header_poll.h diff --git a/lib/libc/include/wasm32-wasi/__header_stdlib.h b/lib/libc/include/wasm-wasi-musl/__header_stdlib.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_stdlib.h rename to lib/libc/include/wasm-wasi-musl/__header_stdlib.h diff --git a/lib/libc/include/wasm32-wasi/__header_string.h b/lib/libc/include/wasm-wasi-musl/__header_string.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_string.h rename to lib/libc/include/wasm-wasi-musl/__header_string.h diff --git a/lib/libc/include/wasm32-wasi/__header_sys_ioctl.h b/lib/libc/include/wasm-wasi-musl/__header_sys_ioctl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_sys_ioctl.h rename to lib/libc/include/wasm-wasi-musl/__header_sys_ioctl.h diff --git a/lib/libc/include/wasm32-wasi/__header_sys_resource.h b/lib/libc/include/wasm-wasi-musl/__header_sys_resource.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_sys_resource.h rename to lib/libc/include/wasm-wasi-musl/__header_sys_resource.h diff --git a/lib/libc/include/wasm32-wasi/__header_sys_socket.h b/lib/libc/include/wasm-wasi-musl/__header_sys_socket.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_sys_socket.h rename to lib/libc/include/wasm-wasi-musl/__header_sys_socket.h diff --git a/lib/libc/include/wasm32-wasi/__header_sys_stat.h b/lib/libc/include/wasm-wasi-musl/__header_sys_stat.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_sys_stat.h rename to lib/libc/include/wasm-wasi-musl/__header_sys_stat.h diff --git a/lib/libc/include/wasm32-wasi/__header_time.h b/lib/libc/include/wasm-wasi-musl/__header_time.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_time.h rename to lib/libc/include/wasm-wasi-musl/__header_time.h diff --git a/lib/libc/include/wasm32-wasi/__header_unistd.h b/lib/libc/include/wasm-wasi-musl/__header_unistd.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__header_unistd.h rename to lib/libc/include/wasm-wasi-musl/__header_unistd.h diff --git a/lib/libc/include/wasm32-wasi/__macro_FD_SETSIZE.h b/lib/libc/include/wasm-wasi-musl/__macro_FD_SETSIZE.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__macro_FD_SETSIZE.h rename to lib/libc/include/wasm-wasi-musl/__macro_FD_SETSIZE.h diff --git a/lib/libc/include/wasm32-wasi/__macro_PAGESIZE.h b/lib/libc/include/wasm-wasi-musl/__macro_PAGESIZE.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__macro_PAGESIZE.h rename to lib/libc/include/wasm-wasi-musl/__macro_PAGESIZE.h diff --git a/lib/libc/include/wasm32-wasi/__mode_t.h b/lib/libc/include/wasm-wasi-musl/__mode_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__mode_t.h rename to lib/libc/include/wasm-wasi-musl/__mode_t.h diff --git a/lib/libc/include/wasm32-wasi/__seek.h b/lib/libc/include/wasm-wasi-musl/__seek.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__seek.h rename to lib/libc/include/wasm-wasi-musl/__seek.h diff --git a/lib/libc/include/wasm32-wasi/__struct_dirent.h b/lib/libc/include/wasm-wasi-musl/__struct_dirent.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_dirent.h rename to lib/libc/include/wasm-wasi-musl/__struct_dirent.h diff --git a/lib/libc/include/wasm32-wasi/__struct_in6_addr.h b/lib/libc/include/wasm-wasi-musl/__struct_in6_addr.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_in6_addr.h rename to lib/libc/include/wasm-wasi-musl/__struct_in6_addr.h diff --git a/lib/libc/include/wasm32-wasi/__struct_in_addr.h b/lib/libc/include/wasm-wasi-musl/__struct_in_addr.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_in_addr.h rename to lib/libc/include/wasm-wasi-musl/__struct_in_addr.h diff --git a/lib/libc/include/wasm32-wasi/__struct_iovec.h b/lib/libc/include/wasm-wasi-musl/__struct_iovec.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_iovec.h rename to lib/libc/include/wasm-wasi-musl/__struct_iovec.h diff --git a/lib/libc/include/wasm32-wasi/__struct_msghdr.h b/lib/libc/include/wasm-wasi-musl/__struct_msghdr.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_msghdr.h rename to lib/libc/include/wasm-wasi-musl/__struct_msghdr.h diff --git a/lib/libc/include/wasm32-wasi/__struct_pollfd.h b/lib/libc/include/wasm-wasi-musl/__struct_pollfd.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_pollfd.h rename to lib/libc/include/wasm-wasi-musl/__struct_pollfd.h diff --git a/lib/libc/include/wasm32-wasi/__struct_rusage.h b/lib/libc/include/wasm-wasi-musl/__struct_rusage.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_rusage.h rename to lib/libc/include/wasm-wasi-musl/__struct_rusage.h diff --git a/lib/libc/include/wasm32-wasi/__struct_sockaddr.h b/lib/libc/include/wasm-wasi-musl/__struct_sockaddr.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_sockaddr.h rename to lib/libc/include/wasm-wasi-musl/__struct_sockaddr.h diff --git a/lib/libc/include/wasm32-wasi/__struct_sockaddr_in.h b/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_sockaddr_in.h rename to lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in.h diff --git a/lib/libc/include/wasm32-wasi/__struct_sockaddr_in6.h b/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in6.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_sockaddr_in6.h rename to lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in6.h diff --git a/lib/libc/include/wasm32-wasi/__struct_sockaddr_storage.h b/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_storage.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_sockaddr_storage.h rename to lib/libc/include/wasm-wasi-musl/__struct_sockaddr_storage.h diff --git a/lib/libc/include/wasm32-wasi/__struct_sockaddr_un.h b/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_un.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_sockaddr_un.h rename to lib/libc/include/wasm-wasi-musl/__struct_sockaddr_un.h diff --git a/lib/libc/include/wasm32-wasi/__struct_stat.h b/lib/libc/include/wasm-wasi-musl/__struct_stat.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_stat.h rename to lib/libc/include/wasm-wasi-musl/__struct_stat.h diff --git a/lib/libc/include/wasm32-wasi/__struct_timespec.h b/lib/libc/include/wasm-wasi-musl/__struct_timespec.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_timespec.h rename to lib/libc/include/wasm-wasi-musl/__struct_timespec.h diff --git a/lib/libc/include/wasm32-wasi/__struct_timeval.h b/lib/libc/include/wasm-wasi-musl/__struct_timeval.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_timeval.h rename to lib/libc/include/wasm-wasi-musl/__struct_timeval.h diff --git a/lib/libc/include/wasm32-wasi/__struct_tm.h b/lib/libc/include/wasm-wasi-musl/__struct_tm.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_tm.h rename to lib/libc/include/wasm-wasi-musl/__struct_tm.h diff --git a/lib/libc/include/wasm32-wasi/__struct_tms.h b/lib/libc/include/wasm-wasi-musl/__struct_tms.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__struct_tms.h rename to lib/libc/include/wasm-wasi-musl/__struct_tms.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_DIR.h b/lib/libc/include/wasm-wasi-musl/__typedef_DIR.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_DIR.h rename to lib/libc/include/wasm-wasi-musl/__typedef_DIR.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_blkcnt_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_blkcnt_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_blkcnt_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_blkcnt_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_blksize_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_blksize_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_blksize_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_blksize_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_clock_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_clock_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_clock_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_clock_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_clockid_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_clockid_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_clockid_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_clockid_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_dev_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_dev_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_dev_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_dev_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_fd_set.h b/lib/libc/include/wasm-wasi-musl/__typedef_fd_set.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_fd_set.h rename to lib/libc/include/wasm-wasi-musl/__typedef_fd_set.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_gid_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_gid_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_gid_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_gid_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_in_addr_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_in_addr_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_in_addr_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_in_addr_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_in_port_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_in_port_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_in_port_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_in_port_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_ino_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_ino_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_ino_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_ino_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_mode_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_mode_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_mode_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_mode_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_nfds_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_nfds_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_nfds_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_nfds_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_nlink_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_nlink_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_nlink_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_nlink_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_off_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_off_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_off_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_off_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_sa_family_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_sa_family_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_sa_family_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_sa_family_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_sigset_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_sigset_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_sigset_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_sigset_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_socklen_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_socklen_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_socklen_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_socklen_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_ssize_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_ssize_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_ssize_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_ssize_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_suseconds_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_suseconds_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_suseconds_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_suseconds_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_time_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_time_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_time_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_time_t.h diff --git a/lib/libc/include/wasm32-wasi/__typedef_uid_t.h b/lib/libc/include/wasm-wasi-musl/__typedef_uid_t.h similarity index 100% rename from lib/libc/include/wasm32-wasi/__typedef_uid_t.h rename to lib/libc/include/wasm-wasi-musl/__typedef_uid_t.h diff --git a/lib/libc/include/wasm32-wasi/alloca.h b/lib/libc/include/wasm-wasi-musl/alloca.h similarity index 100% rename from lib/libc/include/wasm32-wasi/alloca.h rename to lib/libc/include/wasm-wasi-musl/alloca.h diff --git a/lib/libc/include/wasm32-wasi/ar.h b/lib/libc/include/wasm-wasi-musl/ar.h similarity index 100% rename from lib/libc/include/wasm32-wasi/ar.h rename to lib/libc/include/wasm-wasi-musl/ar.h diff --git a/lib/libc/include/wasm32-wasi/arpa/ftp.h b/lib/libc/include/wasm-wasi-musl/arpa/ftp.h similarity index 100% rename from lib/libc/include/wasm32-wasi/arpa/ftp.h rename to lib/libc/include/wasm-wasi-musl/arpa/ftp.h diff --git a/lib/libc/include/wasm32-wasi/arpa/inet.h b/lib/libc/include/wasm-wasi-musl/arpa/inet.h similarity index 100% rename from lib/libc/include/wasm32-wasi/arpa/inet.h rename to lib/libc/include/wasm-wasi-musl/arpa/inet.h diff --git a/lib/libc/include/wasm32-wasi/arpa/nameser.h b/lib/libc/include/wasm-wasi-musl/arpa/nameser.h similarity index 100% rename from lib/libc/include/wasm32-wasi/arpa/nameser.h rename to lib/libc/include/wasm-wasi-musl/arpa/nameser.h diff --git a/lib/libc/include/wasm32-wasi/arpa/nameser_compat.h b/lib/libc/include/wasm-wasi-musl/arpa/nameser_compat.h similarity index 100% rename from lib/libc/include/wasm32-wasi/arpa/nameser_compat.h rename to lib/libc/include/wasm-wasi-musl/arpa/nameser_compat.h diff --git a/lib/libc/include/wasm32-wasi/arpa/telnet.h b/lib/libc/include/wasm-wasi-musl/arpa/telnet.h similarity index 100% rename from lib/libc/include/wasm32-wasi/arpa/telnet.h rename to lib/libc/include/wasm-wasi-musl/arpa/telnet.h diff --git a/lib/libc/include/wasm32-wasi/arpa/tftp.h b/lib/libc/include/wasm-wasi-musl/arpa/tftp.h similarity index 100% rename from lib/libc/include/wasm32-wasi/arpa/tftp.h rename to lib/libc/include/wasm-wasi-musl/arpa/tftp.h diff --git a/lib/libc/include/wasm32-wasi/assert.h b/lib/libc/include/wasm-wasi-musl/assert.h similarity index 100% rename from lib/libc/include/wasm32-wasi/assert.h rename to lib/libc/include/wasm-wasi-musl/assert.h diff --git a/lib/libc/include/wasm32-wasi/bits/alltypes.h b/lib/libc/include/wasm-wasi-musl/bits/alltypes.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/alltypes.h rename to lib/libc/include/wasm-wasi-musl/bits/alltypes.h diff --git a/lib/libc/include/wasm32-wasi/bits/dirent.h b/lib/libc/include/wasm-wasi-musl/bits/dirent.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/dirent.h rename to lib/libc/include/wasm-wasi-musl/bits/dirent.h diff --git a/lib/libc/include/wasm32-wasi/bits/fcntl.h b/lib/libc/include/wasm-wasi-musl/bits/fcntl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/fcntl.h rename to lib/libc/include/wasm-wasi-musl/bits/fcntl.h diff --git a/lib/libc/include/wasm32-wasi/bits/fenv.h b/lib/libc/include/wasm-wasi-musl/bits/fenv.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/fenv.h rename to lib/libc/include/wasm-wasi-musl/bits/fenv.h diff --git a/lib/libc/include/wasm32-wasi/bits/float.h b/lib/libc/include/wasm-wasi-musl/bits/float.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/float.h rename to lib/libc/include/wasm-wasi-musl/bits/float.h diff --git a/lib/libc/include/wasm32-wasi/bits/hwcap.h b/lib/libc/include/wasm-wasi-musl/bits/hwcap.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/hwcap.h rename to lib/libc/include/wasm-wasi-musl/bits/hwcap.h diff --git a/lib/libc/include/wasm32-wasi/bits/io.h b/lib/libc/include/wasm-wasi-musl/bits/io.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/io.h rename to lib/libc/include/wasm-wasi-musl/bits/io.h diff --git a/lib/libc/include/wasm32-wasi/bits/ioctl.h b/lib/libc/include/wasm-wasi-musl/bits/ioctl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/ioctl.h rename to lib/libc/include/wasm-wasi-musl/bits/ioctl.h diff --git a/lib/libc/include/wasm32-wasi/bits/ioctl_fix.h b/lib/libc/include/wasm-wasi-musl/bits/ioctl_fix.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/ioctl_fix.h rename to lib/libc/include/wasm-wasi-musl/bits/ioctl_fix.h diff --git a/lib/libc/include/wasm32-wasi/bits/ipcstat.h b/lib/libc/include/wasm-wasi-musl/bits/ipcstat.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/ipcstat.h rename to lib/libc/include/wasm-wasi-musl/bits/ipcstat.h diff --git a/lib/libc/include/wasm32-wasi/bits/limits.h b/lib/libc/include/wasm-wasi-musl/bits/limits.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/limits.h rename to lib/libc/include/wasm-wasi-musl/bits/limits.h diff --git a/lib/libc/include/wasm32-wasi/bits/mman.h b/lib/libc/include/wasm-wasi-musl/bits/mman.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/mman.h rename to lib/libc/include/wasm-wasi-musl/bits/mman.h diff --git a/lib/libc/include/wasm32-wasi/bits/poll.h b/lib/libc/include/wasm-wasi-musl/bits/poll.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/poll.h rename to lib/libc/include/wasm-wasi-musl/bits/poll.h diff --git a/lib/libc/include/wasm32-wasi/bits/posix.h b/lib/libc/include/wasm-wasi-musl/bits/posix.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/posix.h rename to lib/libc/include/wasm-wasi-musl/bits/posix.h diff --git a/lib/libc/include/wasm32-wasi/bits/reg.h b/lib/libc/include/wasm-wasi-musl/bits/reg.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/reg.h rename to lib/libc/include/wasm-wasi-musl/bits/reg.h diff --git a/lib/libc/include/wasm32-wasi/bits/resource.h b/lib/libc/include/wasm-wasi-musl/bits/resource.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/resource.h rename to lib/libc/include/wasm-wasi-musl/bits/resource.h diff --git a/lib/libc/include/wasm32-wasi/bits/signal.h b/lib/libc/include/wasm-wasi-musl/bits/signal.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/signal.h rename to lib/libc/include/wasm-wasi-musl/bits/signal.h diff --git a/lib/libc/include/wasm32-wasi/bits/socket.h b/lib/libc/include/wasm-wasi-musl/bits/socket.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/socket.h rename to lib/libc/include/wasm-wasi-musl/bits/socket.h diff --git a/lib/libc/include/wasm32-wasi/bits/stat.h b/lib/libc/include/wasm-wasi-musl/bits/stat.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/stat.h rename to lib/libc/include/wasm-wasi-musl/bits/stat.h diff --git a/lib/libc/include/wasm32-wasi/bits/stdint.h b/lib/libc/include/wasm-wasi-musl/bits/stdint.h similarity index 100% rename from lib/libc/include/wasm32-wasi/bits/stdint.h rename to lib/libc/include/wasm-wasi-musl/bits/stdint.h diff --git a/lib/libc/include/wasm32-wasi/byteswap.h b/lib/libc/include/wasm-wasi-musl/byteswap.h similarity index 100% rename from lib/libc/include/wasm32-wasi/byteswap.h rename to lib/libc/include/wasm-wasi-musl/byteswap.h diff --git a/lib/libc/include/wasm32-wasi/complex.h b/lib/libc/include/wasm-wasi-musl/complex.h similarity index 100% rename from lib/libc/include/wasm32-wasi/complex.h rename to lib/libc/include/wasm-wasi-musl/complex.h diff --git a/lib/libc/include/wasm32-wasi/cpio.h b/lib/libc/include/wasm-wasi-musl/cpio.h similarity index 100% rename from lib/libc/include/wasm32-wasi/cpio.h rename to lib/libc/include/wasm-wasi-musl/cpio.h diff --git a/lib/libc/include/wasm32-wasi/crypt.h b/lib/libc/include/wasm-wasi-musl/crypt.h similarity index 100% rename from lib/libc/include/wasm32-wasi/crypt.h rename to lib/libc/include/wasm-wasi-musl/crypt.h diff --git a/lib/libc/include/wasm32-wasi/ctype.h b/lib/libc/include/wasm-wasi-musl/ctype.h similarity index 100% rename from lib/libc/include/wasm32-wasi/ctype.h rename to lib/libc/include/wasm-wasi-musl/ctype.h diff --git a/lib/libc/include/wasm32-wasi/dirent.h b/lib/libc/include/wasm-wasi-musl/dirent.h similarity index 100% rename from lib/libc/include/wasm32-wasi/dirent.h rename to lib/libc/include/wasm-wasi-musl/dirent.h diff --git a/lib/libc/include/wasm32-wasi/endian.h b/lib/libc/include/wasm-wasi-musl/endian.h similarity index 100% rename from lib/libc/include/wasm32-wasi/endian.h rename to lib/libc/include/wasm-wasi-musl/endian.h diff --git a/lib/libc/include/wasm32-wasi/err.h b/lib/libc/include/wasm-wasi-musl/err.h similarity index 100% rename from lib/libc/include/wasm32-wasi/err.h rename to lib/libc/include/wasm-wasi-musl/err.h diff --git a/lib/libc/include/wasm32-wasi/errno.h b/lib/libc/include/wasm-wasi-musl/errno.h similarity index 100% rename from lib/libc/include/wasm32-wasi/errno.h rename to lib/libc/include/wasm-wasi-musl/errno.h diff --git a/lib/libc/include/wasm32-wasi/fcntl.h b/lib/libc/include/wasm-wasi-musl/fcntl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/fcntl.h rename to lib/libc/include/wasm-wasi-musl/fcntl.h diff --git a/lib/libc/include/wasm32-wasi/features.h b/lib/libc/include/wasm-wasi-musl/features.h similarity index 100% rename from lib/libc/include/wasm32-wasi/features.h rename to lib/libc/include/wasm-wasi-musl/features.h diff --git a/lib/libc/include/wasm32-wasi/fenv.h b/lib/libc/include/wasm-wasi-musl/fenv.h similarity index 100% rename from lib/libc/include/wasm32-wasi/fenv.h rename to lib/libc/include/wasm-wasi-musl/fenv.h diff --git a/lib/libc/include/wasm32-wasi/float.h b/lib/libc/include/wasm-wasi-musl/float.h similarity index 100% rename from lib/libc/include/wasm32-wasi/float.h rename to lib/libc/include/wasm-wasi-musl/float.h diff --git a/lib/libc/include/wasm32-wasi/fmtmsg.h b/lib/libc/include/wasm-wasi-musl/fmtmsg.h similarity index 100% rename from lib/libc/include/wasm32-wasi/fmtmsg.h rename to lib/libc/include/wasm-wasi-musl/fmtmsg.h diff --git a/lib/libc/include/wasm32-wasi/fnmatch.h b/lib/libc/include/wasm-wasi-musl/fnmatch.h similarity index 100% rename from lib/libc/include/wasm32-wasi/fnmatch.h rename to lib/libc/include/wasm-wasi-musl/fnmatch.h diff --git a/lib/libc/include/wasm32-wasi/ftw.h b/lib/libc/include/wasm-wasi-musl/ftw.h similarity index 100% rename from lib/libc/include/wasm32-wasi/ftw.h rename to lib/libc/include/wasm-wasi-musl/ftw.h diff --git a/lib/libc/include/wasm32-wasi/getopt.h b/lib/libc/include/wasm-wasi-musl/getopt.h similarity index 100% rename from lib/libc/include/wasm32-wasi/getopt.h rename to lib/libc/include/wasm-wasi-musl/getopt.h diff --git a/lib/libc/include/wasm32-wasi/glob.h b/lib/libc/include/wasm-wasi-musl/glob.h similarity index 100% rename from lib/libc/include/wasm32-wasi/glob.h rename to lib/libc/include/wasm-wasi-musl/glob.h diff --git a/lib/libc/include/wasm32-wasi/iconv.h b/lib/libc/include/wasm-wasi-musl/iconv.h similarity index 100% rename from lib/libc/include/wasm32-wasi/iconv.h rename to lib/libc/include/wasm-wasi-musl/iconv.h diff --git a/lib/libc/include/wasm32-wasi/ifaddrs.h b/lib/libc/include/wasm-wasi-musl/ifaddrs.h similarity index 100% rename from lib/libc/include/wasm32-wasi/ifaddrs.h rename to lib/libc/include/wasm-wasi-musl/ifaddrs.h diff --git a/lib/libc/include/wasm32-wasi/inttypes.h b/lib/libc/include/wasm-wasi-musl/inttypes.h similarity index 100% rename from lib/libc/include/wasm32-wasi/inttypes.h rename to lib/libc/include/wasm-wasi-musl/inttypes.h diff --git a/lib/libc/include/wasm32-wasi/iso646.h b/lib/libc/include/wasm-wasi-musl/iso646.h similarity index 100% rename from lib/libc/include/wasm32-wasi/iso646.h rename to lib/libc/include/wasm-wasi-musl/iso646.h diff --git a/lib/libc/include/wasm32-wasi/langinfo.h b/lib/libc/include/wasm-wasi-musl/langinfo.h similarity index 100% rename from lib/libc/include/wasm32-wasi/langinfo.h rename to lib/libc/include/wasm-wasi-musl/langinfo.h diff --git a/lib/libc/include/wasm32-wasi/libgen.h b/lib/libc/include/wasm-wasi-musl/libgen.h similarity index 100% rename from lib/libc/include/wasm32-wasi/libgen.h rename to lib/libc/include/wasm-wasi-musl/libgen.h diff --git a/lib/libc/include/wasm32-wasi/limits.h b/lib/libc/include/wasm-wasi-musl/limits.h similarity index 100% rename from lib/libc/include/wasm32-wasi/limits.h rename to lib/libc/include/wasm-wasi-musl/limits.h diff --git a/lib/libc/include/wasm32-wasi/locale.h b/lib/libc/include/wasm-wasi-musl/locale.h similarity index 100% rename from lib/libc/include/wasm32-wasi/locale.h rename to lib/libc/include/wasm-wasi-musl/locale.h diff --git a/lib/libc/include/wasm32-wasi/malloc.h b/lib/libc/include/wasm-wasi-musl/malloc.h similarity index 100% rename from lib/libc/include/wasm32-wasi/malloc.h rename to lib/libc/include/wasm-wasi-musl/malloc.h diff --git a/lib/libc/include/wasm32-wasi/math.h b/lib/libc/include/wasm-wasi-musl/math.h similarity index 100% rename from lib/libc/include/wasm32-wasi/math.h rename to lib/libc/include/wasm-wasi-musl/math.h diff --git a/lib/libc/include/wasm32-wasi/memory.h b/lib/libc/include/wasm-wasi-musl/memory.h similarity index 100% rename from lib/libc/include/wasm32-wasi/memory.h rename to lib/libc/include/wasm-wasi-musl/memory.h diff --git a/lib/libc/include/wasm32-wasi/monetary.h b/lib/libc/include/wasm-wasi-musl/monetary.h similarity index 100% rename from lib/libc/include/wasm32-wasi/monetary.h rename to lib/libc/include/wasm-wasi-musl/monetary.h diff --git a/lib/libc/include/wasm32-wasi/mqueue.h b/lib/libc/include/wasm-wasi-musl/mqueue.h similarity index 100% rename from lib/libc/include/wasm32-wasi/mqueue.h rename to lib/libc/include/wasm-wasi-musl/mqueue.h diff --git a/lib/libc/include/wasm32-wasi/netinet/icmp6.h b/lib/libc/include/wasm-wasi-musl/netinet/icmp6.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/icmp6.h rename to lib/libc/include/wasm-wasi-musl/netinet/icmp6.h diff --git a/lib/libc/include/wasm32-wasi/netinet/igmp.h b/lib/libc/include/wasm-wasi-musl/netinet/igmp.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/igmp.h rename to lib/libc/include/wasm-wasi-musl/netinet/igmp.h diff --git a/lib/libc/include/wasm32-wasi/netinet/in.h b/lib/libc/include/wasm-wasi-musl/netinet/in.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/in.h rename to lib/libc/include/wasm-wasi-musl/netinet/in.h diff --git a/lib/libc/include/wasm32-wasi/netinet/in_systm.h b/lib/libc/include/wasm-wasi-musl/netinet/in_systm.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/in_systm.h rename to lib/libc/include/wasm-wasi-musl/netinet/in_systm.h diff --git a/lib/libc/include/wasm32-wasi/netinet/ip.h b/lib/libc/include/wasm-wasi-musl/netinet/ip.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/ip.h rename to lib/libc/include/wasm-wasi-musl/netinet/ip.h diff --git a/lib/libc/include/wasm32-wasi/netinet/ip6.h b/lib/libc/include/wasm-wasi-musl/netinet/ip6.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/ip6.h rename to lib/libc/include/wasm-wasi-musl/netinet/ip6.h diff --git a/lib/libc/include/wasm32-wasi/netinet/ip_icmp.h b/lib/libc/include/wasm-wasi-musl/netinet/ip_icmp.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/ip_icmp.h rename to lib/libc/include/wasm-wasi-musl/netinet/ip_icmp.h diff --git a/lib/libc/include/wasm32-wasi/netinet/tcp.h b/lib/libc/include/wasm-wasi-musl/netinet/tcp.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/tcp.h rename to lib/libc/include/wasm-wasi-musl/netinet/tcp.h diff --git a/lib/libc/include/wasm32-wasi/netinet/udp.h b/lib/libc/include/wasm-wasi-musl/netinet/udp.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netinet/udp.h rename to lib/libc/include/wasm-wasi-musl/netinet/udp.h diff --git a/lib/libc/include/wasm32-wasi/netpacket/packet.h b/lib/libc/include/wasm-wasi-musl/netpacket/packet.h similarity index 100% rename from lib/libc/include/wasm32-wasi/netpacket/packet.h rename to lib/libc/include/wasm-wasi-musl/netpacket/packet.h diff --git a/lib/libc/include/wasm32-wasi/nl_types.h b/lib/libc/include/wasm-wasi-musl/nl_types.h similarity index 100% rename from lib/libc/include/wasm32-wasi/nl_types.h rename to lib/libc/include/wasm-wasi-musl/nl_types.h diff --git a/lib/libc/include/wasm32-wasi/poll.h b/lib/libc/include/wasm-wasi-musl/poll.h similarity index 100% rename from lib/libc/include/wasm32-wasi/poll.h rename to lib/libc/include/wasm-wasi-musl/poll.h diff --git a/lib/libc/include/wasm32-wasi/regex.h b/lib/libc/include/wasm-wasi-musl/regex.h similarity index 100% rename from lib/libc/include/wasm32-wasi/regex.h rename to lib/libc/include/wasm-wasi-musl/regex.h diff --git a/lib/libc/include/wasm32-wasi/sched.h b/lib/libc/include/wasm-wasi-musl/sched.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sched.h rename to lib/libc/include/wasm-wasi-musl/sched.h diff --git a/lib/libc/include/wasm32-wasi/search.h b/lib/libc/include/wasm-wasi-musl/search.h similarity index 100% rename from lib/libc/include/wasm32-wasi/search.h rename to lib/libc/include/wasm-wasi-musl/search.h diff --git a/lib/libc/include/wasm32-wasi/semaphore.h b/lib/libc/include/wasm-wasi-musl/semaphore.h similarity index 100% rename from lib/libc/include/wasm32-wasi/semaphore.h rename to lib/libc/include/wasm-wasi-musl/semaphore.h diff --git a/lib/libc/include/wasm32-wasi/signal.h b/lib/libc/include/wasm-wasi-musl/signal.h similarity index 100% rename from lib/libc/include/wasm32-wasi/signal.h rename to lib/libc/include/wasm-wasi-musl/signal.h diff --git a/lib/libc/include/wasm32-wasi/stdalign.h b/lib/libc/include/wasm-wasi-musl/stdalign.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdalign.h rename to lib/libc/include/wasm-wasi-musl/stdalign.h diff --git a/lib/libc/include/wasm32-wasi/stdbool.h b/lib/libc/include/wasm-wasi-musl/stdbool.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdbool.h rename to lib/libc/include/wasm-wasi-musl/stdbool.h diff --git a/lib/libc/include/wasm32-wasi/stdc-predef.h b/lib/libc/include/wasm-wasi-musl/stdc-predef.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdc-predef.h rename to lib/libc/include/wasm-wasi-musl/stdc-predef.h diff --git a/lib/libc/include/wasm32-wasi/stdint.h b/lib/libc/include/wasm-wasi-musl/stdint.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdint.h rename to lib/libc/include/wasm-wasi-musl/stdint.h diff --git a/lib/libc/include/wasm32-wasi/stdio.h b/lib/libc/include/wasm-wasi-musl/stdio.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdio.h rename to lib/libc/include/wasm-wasi-musl/stdio.h diff --git a/lib/libc/include/wasm32-wasi/stdio_ext.h b/lib/libc/include/wasm-wasi-musl/stdio_ext.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdio_ext.h rename to lib/libc/include/wasm-wasi-musl/stdio_ext.h diff --git a/lib/libc/include/wasm32-wasi/stdlib.h b/lib/libc/include/wasm-wasi-musl/stdlib.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdlib.h rename to lib/libc/include/wasm-wasi-musl/stdlib.h diff --git a/lib/libc/include/wasm32-wasi/stdnoreturn.h b/lib/libc/include/wasm-wasi-musl/stdnoreturn.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stdnoreturn.h rename to lib/libc/include/wasm-wasi-musl/stdnoreturn.h diff --git a/lib/libc/include/wasm32-wasi/string.h b/lib/libc/include/wasm-wasi-musl/string.h similarity index 100% rename from lib/libc/include/wasm32-wasi/string.h rename to lib/libc/include/wasm-wasi-musl/string.h diff --git a/lib/libc/include/wasm32-wasi/strings.h b/lib/libc/include/wasm-wasi-musl/strings.h similarity index 100% rename from lib/libc/include/wasm32-wasi/strings.h rename to lib/libc/include/wasm-wasi-musl/strings.h diff --git a/lib/libc/include/wasm32-wasi/stropts.h b/lib/libc/include/wasm-wasi-musl/stropts.h similarity index 100% rename from lib/libc/include/wasm32-wasi/stropts.h rename to lib/libc/include/wasm-wasi-musl/stropts.h diff --git a/lib/libc/include/wasm32-wasi/sys/dir.h b/lib/libc/include/wasm-wasi-musl/sys/dir.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/dir.h rename to lib/libc/include/wasm-wasi-musl/sys/dir.h diff --git a/lib/libc/include/wasm32-wasi/sys/errno.h b/lib/libc/include/wasm-wasi-musl/sys/errno.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/errno.h rename to lib/libc/include/wasm-wasi-musl/sys/errno.h diff --git a/lib/libc/include/wasm32-wasi/sys/eventfd.h b/lib/libc/include/wasm-wasi-musl/sys/eventfd.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/eventfd.h rename to lib/libc/include/wasm-wasi-musl/sys/eventfd.h diff --git a/lib/libc/include/wasm32-wasi/sys/fcntl.h b/lib/libc/include/wasm-wasi-musl/sys/fcntl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/fcntl.h rename to lib/libc/include/wasm-wasi-musl/sys/fcntl.h diff --git a/lib/libc/include/wasm32-wasi/sys/file.h b/lib/libc/include/wasm-wasi-musl/sys/file.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/file.h rename to lib/libc/include/wasm-wasi-musl/sys/file.h diff --git a/lib/libc/include/wasm32-wasi/sys/ioctl.h b/lib/libc/include/wasm-wasi-musl/sys/ioctl.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/ioctl.h rename to lib/libc/include/wasm-wasi-musl/sys/ioctl.h diff --git a/lib/libc/include/wasm32-wasi/sys/mman.h b/lib/libc/include/wasm-wasi-musl/sys/mman.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/mman.h rename to lib/libc/include/wasm-wasi-musl/sys/mman.h diff --git a/lib/libc/include/wasm32-wasi/sys/param.h b/lib/libc/include/wasm-wasi-musl/sys/param.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/param.h rename to lib/libc/include/wasm-wasi-musl/sys/param.h diff --git a/lib/libc/include/wasm32-wasi/sys/poll.h b/lib/libc/include/wasm-wasi-musl/sys/poll.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/poll.h rename to lib/libc/include/wasm-wasi-musl/sys/poll.h diff --git a/lib/libc/include/wasm32-wasi/sys/random.h b/lib/libc/include/wasm-wasi-musl/sys/random.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/random.h rename to lib/libc/include/wasm-wasi-musl/sys/random.h diff --git a/lib/libc/include/wasm32-wasi/sys/reg.h b/lib/libc/include/wasm-wasi-musl/sys/reg.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/reg.h rename to lib/libc/include/wasm-wasi-musl/sys/reg.h diff --git a/lib/libc/include/wasm32-wasi/sys/resource.h b/lib/libc/include/wasm-wasi-musl/sys/resource.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/resource.h rename to lib/libc/include/wasm-wasi-musl/sys/resource.h diff --git a/lib/libc/include/wasm32-wasi/sys/select.h b/lib/libc/include/wasm-wasi-musl/sys/select.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/select.h rename to lib/libc/include/wasm-wasi-musl/sys/select.h diff --git a/lib/libc/include/wasm32-wasi/sys/signal.h b/lib/libc/include/wasm-wasi-musl/sys/signal.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/signal.h rename to lib/libc/include/wasm-wasi-musl/sys/signal.h diff --git a/lib/libc/include/wasm32-wasi/sys/socket.h b/lib/libc/include/wasm-wasi-musl/sys/socket.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/socket.h rename to lib/libc/include/wasm-wasi-musl/sys/socket.h diff --git a/lib/libc/include/wasm32-wasi/sys/stat.h b/lib/libc/include/wasm-wasi-musl/sys/stat.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/stat.h rename to lib/libc/include/wasm-wasi-musl/sys/stat.h diff --git a/lib/libc/include/wasm32-wasi/sys/stropts.h b/lib/libc/include/wasm-wasi-musl/sys/stropts.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/stropts.h rename to lib/libc/include/wasm-wasi-musl/sys/stropts.h diff --git a/lib/libc/include/wasm32-wasi/sys/syscall.h b/lib/libc/include/wasm-wasi-musl/sys/syscall.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/syscall.h rename to lib/libc/include/wasm-wasi-musl/sys/syscall.h diff --git a/lib/libc/include/wasm32-wasi/sys/sysinfo.h b/lib/libc/include/wasm-wasi-musl/sys/sysinfo.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/sysinfo.h rename to lib/libc/include/wasm-wasi-musl/sys/sysinfo.h diff --git a/lib/libc/include/wasm32-wasi/sys/time.h b/lib/libc/include/wasm-wasi-musl/sys/time.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/time.h rename to lib/libc/include/wasm-wasi-musl/sys/time.h diff --git a/lib/libc/include/wasm32-wasi/sys/timeb.h b/lib/libc/include/wasm-wasi-musl/sys/timeb.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/timeb.h rename to lib/libc/include/wasm-wasi-musl/sys/timeb.h diff --git a/lib/libc/include/wasm32-wasi/sys/times.h b/lib/libc/include/wasm-wasi-musl/sys/times.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/times.h rename to lib/libc/include/wasm-wasi-musl/sys/times.h diff --git a/lib/libc/include/wasm32-wasi/sys/timex.h b/lib/libc/include/wasm-wasi-musl/sys/timex.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/timex.h rename to lib/libc/include/wasm-wasi-musl/sys/timex.h diff --git a/lib/libc/include/wasm32-wasi/sys/ttydefaults.h b/lib/libc/include/wasm-wasi-musl/sys/ttydefaults.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/ttydefaults.h rename to lib/libc/include/wasm-wasi-musl/sys/ttydefaults.h diff --git a/lib/libc/include/wasm32-wasi/sys/types.h b/lib/libc/include/wasm-wasi-musl/sys/types.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/types.h rename to lib/libc/include/wasm-wasi-musl/sys/types.h diff --git a/lib/libc/include/wasm32-wasi/sys/uio.h b/lib/libc/include/wasm-wasi-musl/sys/uio.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/uio.h rename to lib/libc/include/wasm-wasi-musl/sys/uio.h diff --git a/lib/libc/include/wasm32-wasi/sys/un.h b/lib/libc/include/wasm-wasi-musl/sys/un.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/un.h rename to lib/libc/include/wasm-wasi-musl/sys/un.h diff --git a/lib/libc/include/wasm32-wasi/sys/utsname.h b/lib/libc/include/wasm-wasi-musl/sys/utsname.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sys/utsname.h rename to lib/libc/include/wasm-wasi-musl/sys/utsname.h diff --git a/lib/libc/include/wasm32-wasi/syscall.h b/lib/libc/include/wasm-wasi-musl/syscall.h similarity index 100% rename from lib/libc/include/wasm32-wasi/syscall.h rename to lib/libc/include/wasm-wasi-musl/syscall.h diff --git a/lib/libc/include/wasm32-wasi/sysexits.h b/lib/libc/include/wasm-wasi-musl/sysexits.h similarity index 100% rename from lib/libc/include/wasm32-wasi/sysexits.h rename to lib/libc/include/wasm-wasi-musl/sysexits.h diff --git a/lib/libc/include/wasm32-wasi/tar.h b/lib/libc/include/wasm-wasi-musl/tar.h similarity index 100% rename from lib/libc/include/wasm32-wasi/tar.h rename to lib/libc/include/wasm-wasi-musl/tar.h diff --git a/lib/libc/include/wasm32-wasi/tgmath.h b/lib/libc/include/wasm-wasi-musl/tgmath.h similarity index 100% rename from lib/libc/include/wasm32-wasi/tgmath.h rename to lib/libc/include/wasm-wasi-musl/tgmath.h diff --git a/lib/libc/include/wasm32-wasi/threads.h b/lib/libc/include/wasm-wasi-musl/threads.h similarity index 100% rename from lib/libc/include/wasm32-wasi/threads.h rename to lib/libc/include/wasm-wasi-musl/threads.h diff --git a/lib/libc/include/wasm32-wasi/time.h b/lib/libc/include/wasm-wasi-musl/time.h similarity index 100% rename from lib/libc/include/wasm32-wasi/time.h rename to lib/libc/include/wasm-wasi-musl/time.h diff --git a/lib/libc/include/wasm32-wasi/uchar.h b/lib/libc/include/wasm-wasi-musl/uchar.h similarity index 100% rename from lib/libc/include/wasm32-wasi/uchar.h rename to lib/libc/include/wasm-wasi-musl/uchar.h diff --git a/lib/libc/include/wasm32-wasi/unistd.h b/lib/libc/include/wasm-wasi-musl/unistd.h similarity index 100% rename from lib/libc/include/wasm32-wasi/unistd.h rename to lib/libc/include/wasm-wasi-musl/unistd.h diff --git a/lib/libc/include/wasm32-wasi/utime.h b/lib/libc/include/wasm-wasi-musl/utime.h similarity index 100% rename from lib/libc/include/wasm32-wasi/utime.h rename to lib/libc/include/wasm-wasi-musl/utime.h diff --git a/lib/libc/include/wasm32-wasi/values.h b/lib/libc/include/wasm-wasi-musl/values.h similarity index 100% rename from lib/libc/include/wasm32-wasi/values.h rename to lib/libc/include/wasm-wasi-musl/values.h diff --git a/lib/libc/include/wasm32-wasi/wasi/api.h b/lib/libc/include/wasm-wasi-musl/wasi/api.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wasi/api.h rename to lib/libc/include/wasm-wasi-musl/wasi/api.h diff --git a/lib/libc/include/wasm32-wasi/wasi/libc-environ.h b/lib/libc/include/wasm-wasi-musl/wasi/libc-environ.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wasi/libc-environ.h rename to lib/libc/include/wasm-wasi-musl/wasi/libc-environ.h diff --git a/lib/libc/include/wasm32-wasi/wasi/libc-find-relpath.h b/lib/libc/include/wasm-wasi-musl/wasi/libc-find-relpath.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wasi/libc-find-relpath.h rename to lib/libc/include/wasm-wasi-musl/wasi/libc-find-relpath.h diff --git a/lib/libc/include/wasm32-wasi/wasi/libc-nocwd.h b/lib/libc/include/wasm-wasi-musl/wasi/libc-nocwd.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wasi/libc-nocwd.h rename to lib/libc/include/wasm-wasi-musl/wasi/libc-nocwd.h diff --git a/lib/libc/include/wasm32-wasi/wasi/libc.h b/lib/libc/include/wasm-wasi-musl/wasi/libc.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wasi/libc.h rename to lib/libc/include/wasm-wasi-musl/wasi/libc.h diff --git a/lib/libc/include/wasm32-wasi/wchar.h b/lib/libc/include/wasm-wasi-musl/wchar.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wchar.h rename to lib/libc/include/wasm-wasi-musl/wchar.h diff --git a/lib/libc/include/wasm32-wasi/wctype.h b/lib/libc/include/wasm-wasi-musl/wctype.h similarity index 100% rename from lib/libc/include/wasm32-wasi/wctype.h rename to lib/libc/include/wasm-wasi-musl/wctype.h diff --git a/src/Compilation.zig b/src/Compilation.zig index ff36df198a..5c856b6217 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -21,6 +21,7 @@ const musl = @import("musl.zig"); const mingw = @import("mingw.zig"); const libunwind = @import("libunwind.zig"); const libcxx = @import("libcxx.zig"); +const wasi_libc = @import("wasi_libc.zig"); const fatal = @import("main.zig").fatal; const Module = @import("Module.zig"); const Cache = @import("Cache.zig"); @@ -202,6 +203,8 @@ const Job = union(enum) { /// needed when not linking libc and using LLVM for code generation because it generates /// calls to, for example, memcpy and memset. zig_libc: void, + /// WASI libc sysroot + wasi_libc_sysroot: void, /// Use stage1 C++ code to compile zig code into an object file. stage1_module: void, @@ -276,6 +279,7 @@ pub const MiscTask = enum { libcxx, libcxxabi, libtsan, + wasi_libc_sysroot, compiler_rt, libssp, zig_libc, @@ -1414,6 +1418,9 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation { }, }); } + if (comp.wantBuildWASILibcSysrootFromSource()) { + try comp.work_queue.write(&[_]Job{.{ .wasi_libc_sysroot = {} }}); + } if (comp.wantBuildMinGWFromSource()) { const static_lib_jobs = [_]Job{ .{ .mingw_crt_file = .mingw32_lib }, @@ -2139,6 +2146,16 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor ); }; }, + .wasi_libc_sysroot => { + wasi_libc.buildWASILibcSysroot(self) catch |err| { + // TODO Surface more error details. + try self.setMiscFailure( + .wasi_libc_sysroot, + "unable to build WASI libc sysroot: {s}", + .{@errorName(err)}, + ); + }; + }, .compiler_rt_lib => { self.buildOutputFromZig( "compiler_rt.zig", @@ -3285,6 +3302,10 @@ fn wantBuildMuslFromSource(comp: Compilation) bool { !comp.getTarget().isWasm(); } +fn wantBuildWASILibcSysrootFromSource(comp: Compilation) bool { + return comp.wantBuildLibCFromSource() and comp.getTarget().isWasm(); +} + fn wantBuildMinGWFromSource(comp: Compilation) bool { return comp.wantBuildLibCFromSource() and comp.getTarget().isMinGW(); } diff --git a/src/target.zig b/src/target.zig index 28b4771d0a..cb6aecf645 100644 --- a/src/target.zig +++ b/src/target.zig @@ -57,6 +57,7 @@ pub const available_libcs = [_]ArchOsAbi{ .{ .arch = .sparc, .os = .linux, .abi = .gnu }, .{ .arch = .sparcv9, .os = .linux, .abi = .gnu }, .{ .arch = .wasm32, .os = .freestanding, .abi = .musl }, + .{ .arch = .wasm32, .os = .wasi, .abi = .musl }, .{ .arch = .x86_64, .os = .linux, .abi = .gnu }, .{ .arch = .x86_64, .os = .linux, .abi = .gnux32 }, .{ .arch = .x86_64, .os = .linux, .abi = .musl }, diff --git a/src/wasi_libc.zig b/src/wasi_libc.zig new file mode 100644 index 0000000000..2928c8e4cb --- /dev/null +++ b/src/wasi_libc.zig @@ -0,0 +1,12 @@ +const std = @import("std"); + +const Compilation = @import("Compilation.zig"); +const build_options = @import("build_options"); + +pub fn buildWASILibcSysroot(comp: *Compilation) !void { + if (!build_options.have_llvm) { + return error.ZigCompilerNotBuiltWithLLVMExtensions; + } + + return error.TODOBuildWASILibcSysroot; +}