From 7b74de7d717e2167337ba8a23e73baf99239529f Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 18 May 2021 16:00:06 +0200 Subject: [PATCH] wasi,cc: fix naming and add stubs for building Rename include dir to match the convention: from `wasm32-wasi` to `wasm-wasi-musl` Add building stubs which will be used to build and cache WASI libc sysroot. --- CMakeLists.txt | 1 + .../{wasm32-wasi => wasm-wasi-musl}/__errno.h | 0 .../__errno_values.h | 0 .../__fd_set.h | 0 .../__function___isatty.h | 0 .../__functions_malloc.h | 0 .../__functions_memcpy.h | 0 .../__header_dirent.h | 0 .../__header_fcntl.h | 0 .../__header_inttypes.h | 0 .../__header_netinet_in.h | 0 .../__header_poll.h | 0 .../__header_stdlib.h | 0 .../__header_string.h | 0 .../__header_sys_ioctl.h | 0 .../__header_sys_resource.h | 0 .../__header_sys_socket.h | 0 .../__header_sys_stat.h | 0 .../__header_time.h | 0 .../__header_unistd.h | 0 .../__macro_FD_SETSIZE.h | 0 .../__macro_PAGESIZE.h | 0 .../__mode_t.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/__seek.h | 0 .../__struct_dirent.h | 0 .../__struct_in6_addr.h | 0 .../__struct_in_addr.h | 0 .../__struct_iovec.h | 0 .../__struct_msghdr.h | 0 .../__struct_pollfd.h | 0 .../__struct_rusage.h | 0 .../__struct_sockaddr.h | 0 .../__struct_sockaddr_in.h | 0 .../__struct_sockaddr_in6.h | 0 .../__struct_sockaddr_storage.h | 0 .../__struct_sockaddr_un.h | 0 .../__struct_stat.h | 0 .../__struct_timespec.h | 0 .../__struct_timeval.h | 0 .../__struct_tm.h | 0 .../__struct_tms.h | 0 .../__typedef_DIR.h | 0 .../__typedef_blkcnt_t.h | 0 .../__typedef_blksize_t.h | 0 .../__typedef_clock_t.h | 0 .../__typedef_clockid_t.h | 0 .../__typedef_dev_t.h | 0 .../__typedef_fd_set.h | 0 .../__typedef_gid_t.h | 0 .../__typedef_in_addr_t.h | 0 .../__typedef_in_port_t.h | 0 .../__typedef_ino_t.h | 0 .../__typedef_mode_t.h | 0 .../__typedef_nfds_t.h | 0 .../__typedef_nlink_t.h | 0 .../__typedef_off_t.h | 0 .../__typedef_sa_family_t.h | 0 .../__typedef_sigset_t.h | 0 .../__typedef_socklen_t.h | 0 .../__typedef_ssize_t.h | 0 .../__typedef_suseconds_t.h | 0 .../__typedef_time_t.h | 0 .../__typedef_uid_t.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/alloca.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/ar.h | 0 .../arpa/ftp.h | 0 .../arpa/inet.h | 0 .../arpa/nameser.h | 0 .../arpa/nameser_compat.h | 0 .../arpa/telnet.h | 0 .../arpa/tftp.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/assert.h | 0 .../bits/alltypes.h | 0 .../bits/dirent.h | 0 .../bits/fcntl.h | 0 .../bits/fenv.h | 0 .../bits/float.h | 0 .../bits/hwcap.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/bits/io.h | 0 .../bits/ioctl.h | 0 .../bits/ioctl_fix.h | 0 .../bits/ipcstat.h | 0 .../bits/limits.h | 0 .../bits/mman.h | 0 .../bits/poll.h | 0 .../bits/posix.h | 0 .../bits/reg.h | 0 .../bits/resource.h | 0 .../bits/signal.h | 0 .../bits/socket.h | 0 .../bits/stat.h | 0 .../bits/stdint.h | 0 .../byteswap.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/complex.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/cpio.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/crypt.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/ctype.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/dirent.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/endian.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/err.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/errno.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/fcntl.h | 0 .../features.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/fenv.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/float.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/fmtmsg.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/fnmatch.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/ftw.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/getopt.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/glob.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/iconv.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/ifaddrs.h | 0 .../inttypes.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/iso646.h | 0 .../langinfo.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/libgen.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/limits.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/locale.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/malloc.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/math.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/memory.h | 0 .../monetary.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/mqueue.h | 0 .../netinet/icmp6.h | 0 .../netinet/igmp.h | 0 .../netinet/in.h | 0 .../netinet/in_systm.h | 0 .../netinet/ip.h | 0 .../netinet/ip6.h | 0 .../netinet/ip_icmp.h | 0 .../netinet/tcp.h | 0 .../netinet/udp.h | 0 .../netpacket/packet.h | 0 .../nl_types.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/poll.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/regex.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/sched.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/search.h | 0 .../semaphore.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/signal.h | 0 .../stdalign.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/stdbool.h | 0 .../stdc-predef.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/stdint.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/stdio.h | 0 .../stdio_ext.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/stdlib.h | 0 .../stdnoreturn.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/string.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/strings.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/stropts.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/sys/dir.h | 0 .../sys/errno.h | 0 .../sys/eventfd.h | 0 .../sys/fcntl.h | 0 .../sys/file.h | 0 .../sys/ioctl.h | 0 .../sys/mman.h | 0 .../sys/param.h | 0 .../sys/poll.h | 0 .../sys/random.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/sys/reg.h | 0 .../sys/resource.h | 0 .../sys/select.h | 0 .../sys/signal.h | 0 .../sys/socket.h | 0 .../sys/stat.h | 0 .../sys/stropts.h | 0 .../sys/syscall.h | 0 .../sys/sysinfo.h | 0 .../sys/time.h | 0 .../sys/timeb.h | 0 .../sys/times.h | 0 .../sys/timex.h | 0 .../sys/ttydefaults.h | 0 .../sys/types.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/sys/uio.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/sys/un.h | 0 .../sys/utsname.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/syscall.h | 0 .../sysexits.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/tar.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/tgmath.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/threads.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/time.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/uchar.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/unistd.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/utime.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/values.h | 0 .../wasi/api.h | 0 .../wasi/libc-environ.h | 0 .../wasi/libc-find-relpath.h | 0 .../wasi/libc-nocwd.h | 0 .../wasi/libc.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/wchar.h | 0 .../{wasm32-wasi => wasm-wasi-musl}/wctype.h | 0 src/Compilation.zig | 21 +++++++++++++++++++ src/target.zig | 1 + src/wasi_libc.zig | 12 +++++++++++ 199 files changed, 35 insertions(+) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__errno.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__errno_values.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__fd_set.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__function___isatty.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__functions_malloc.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__functions_memcpy.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_dirent.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_fcntl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_inttypes.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_netinet_in.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_poll.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_stdlib.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_string.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_sys_ioctl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_sys_resource.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_sys_socket.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_sys_stat.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_time.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__header_unistd.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__macro_FD_SETSIZE.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__macro_PAGESIZE.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__mode_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__seek.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_dirent.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_in6_addr.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_in_addr.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_iovec.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_msghdr.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_pollfd.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_rusage.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_sockaddr.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_sockaddr_in.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_sockaddr_in6.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_sockaddr_storage.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_sockaddr_un.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_stat.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_timespec.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_timeval.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_tm.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__struct_tms.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_DIR.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_blkcnt_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_blksize_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_clock_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_clockid_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_dev_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_fd_set.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_gid_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_in_addr_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_in_port_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_ino_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_mode_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_nfds_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_nlink_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_off_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_sa_family_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_sigset_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_socklen_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_ssize_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_suseconds_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_time_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/__typedef_uid_t.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/alloca.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/ar.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/arpa/ftp.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/arpa/inet.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/arpa/nameser.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/arpa/nameser_compat.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/arpa/telnet.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/arpa/tftp.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/assert.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/alltypes.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/dirent.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/fcntl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/fenv.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/float.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/hwcap.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/io.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/ioctl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/ioctl_fix.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/ipcstat.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/limits.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/mman.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/poll.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/posix.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/reg.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/resource.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/signal.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/socket.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/stat.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/bits/stdint.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/byteswap.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/complex.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/cpio.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/crypt.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/ctype.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/dirent.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/endian.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/err.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/errno.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/fcntl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/features.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/fenv.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/float.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/fmtmsg.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/fnmatch.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/ftw.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/getopt.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/glob.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/iconv.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/ifaddrs.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/inttypes.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/iso646.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/langinfo.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/libgen.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/limits.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/locale.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/malloc.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/math.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/memory.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/monetary.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/mqueue.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/icmp6.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/igmp.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/in.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/in_systm.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/ip.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/ip6.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/ip_icmp.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/tcp.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netinet/udp.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/netpacket/packet.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/nl_types.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/poll.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/regex.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sched.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/search.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/semaphore.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/signal.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdalign.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdbool.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdc-predef.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdint.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdio.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdio_ext.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdlib.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stdnoreturn.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/string.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/strings.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/stropts.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/dir.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/errno.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/eventfd.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/fcntl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/file.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/ioctl.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/mman.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/param.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/poll.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/random.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/reg.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/resource.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/select.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/signal.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/socket.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/stat.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/stropts.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/syscall.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/sysinfo.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/time.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/timeb.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/times.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/timex.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/ttydefaults.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/types.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/uio.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/un.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sys/utsname.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/syscall.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/sysexits.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/tar.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/tgmath.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/threads.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/time.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/uchar.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/unistd.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/utime.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/values.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wasi/api.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wasi/libc-environ.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wasi/libc-find-relpath.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wasi/libc-nocwd.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wasi/libc.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wchar.h (100%) rename lib/libc/include/{wasm32-wasi => wasm-wasi-musl}/wctype.h (100%) create mode 100644 src/wasi_libc.zig 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; +}