aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Li <vishwin@FreeBSD.org>2024-10-18 12:38:20 +0000
committerCharlie Li <vishwin@FreeBSD.org>2024-10-18 12:38:20 +0000
commit84b600fb9f63e0961632dae0d90186b1586fd901 (patch)
treedc2ebac333f10d80f90b191534b70c9ac483b817
parent26c0d265d6964547dd081dbed6d40bf48c8ca54b (diff)
wasi: update to latest commit past sdk-22
devel/wasi-libc is now flavourised per supported LLVM version. Each flavour includes/copies the corresponding clang's stdarg.h and stddef.h instead of simply using the latest clang release. Technically upstream dropped support for LLVM < 18, but the commit doing so admittedly operated under an uncertain assumption. LLVM 17 is still supported in these ports for the benefit of Rust and gecko@ ports, which specify LLVM 17 minimum, and to facilitate LTO with that version. LLVM 19 is also supported in this version, with the corresponding ports to be committed separately. Bump PORTREVISION of consumers
-rw-r--r--devel/wasi-compiler-rt/Makefile23
-rw-r--r--devel/wasi-compiler-rt17/Makefile2
-rw-r--r--devel/wasi-compiler-rt18/Makefile1
-rw-r--r--devel/wasi-libc/Makefile15
-rw-r--r--devel/wasi-libc/distinfo6
-rw-r--r--devel/wasi-libc/files/llvm17/__stddef_max_align_t.h27
-rw-r--r--devel/wasi-libc/files/llvm17/stdarg.h51
-rw-r--r--devel/wasi-libc/files/llvm17/stddef.h133
-rw-r--r--devel/wasi-libc/files/llvm18/__stdarg___gnuc_va_list.h (renamed from devel/wasi-libc/files/__stdarg___gnuc_va_list.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stdarg___va_copy.h (renamed from devel/wasi-libc/files/__stdarg___va_copy.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stdarg_va_arg.h (renamed from devel/wasi-libc/files/__stdarg_va_arg.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stdarg_va_copy.h (renamed from devel/wasi-libc/files/__stdarg_va_copy.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stdarg_va_list.h (renamed from devel/wasi-libc/files/__stdarg_va_list.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_max_align_t.h (renamed from devel/wasi-libc/files/__stddef_max_align_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_null.h (renamed from devel/wasi-libc/files/__stddef_null.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_nullptr_t.h (renamed from devel/wasi-libc/files/__stddef_nullptr_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_offsetof.h (renamed from devel/wasi-libc/files/__stddef_offsetof.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_ptrdiff_t.h (renamed from devel/wasi-libc/files/__stddef_ptrdiff_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_rsize_t.h (renamed from devel/wasi-libc/files/__stddef_rsize_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_size_t.h (renamed from devel/wasi-libc/files/__stddef_size_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_unreachable.h (renamed from devel/wasi-libc/files/__stddef_unreachable.h)4
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_wchar_t.h (renamed from devel/wasi-libc/files/__stddef_wchar_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/__stddef_wint_t.h (renamed from devel/wasi-libc/files/__stddef_wint_t.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/stdarg.h (renamed from devel/wasi-libc/files/stdarg.h)0
-rw-r--r--devel/wasi-libc/files/llvm18/stddef.h (renamed from devel/wasi-libc/files/stddef.h)0
-rw-r--r--devel/wasi-libc/files/llvm19/__stdarg___gnuc_va_list.h13
-rw-r--r--devel/wasi-libc/files/llvm19/__stdarg___va_copy.h12
-rw-r--r--devel/wasi-libc/files/llvm19/__stdarg_header_macro.h12
-rw-r--r--devel/wasi-libc/files/llvm19/__stdarg_va_arg.h22
-rw-r--r--devel/wasi-libc/files/llvm19/__stdarg_va_copy.h12
-rw-r--r--devel/wasi-libc/files/llvm19/__stdarg_va_list.h13
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_header_macro.h12
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_max_align_t.h27
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_null.h29
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_nullptr_t.h29
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_offsetof.h17
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_ptrdiff_t.h20
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_rsize_t.h20
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_size_t.h20
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_unreachable.h21
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_wchar_t.h28
-rw-r--r--devel/wasi-libc/files/llvm19/__stddef_wint_t.h15
-rw-r--r--devel/wasi-libc/files/llvm19/stdarg.h75
-rw-r--r--devel/wasi-libc/files/llvm19/stddef.h139
-rw-r--r--devel/wasi-libc/pkg-plist238
-rw-r--r--devel/wasi-libc/pkg-plist17233
-rw-r--r--devel/wasi-libc/pkg-plist18247
-rw-r--r--devel/wasi-libc/pkg-plist19249
-rw-r--r--devel/wasi-libcxx/Makefile24
-rw-r--r--devel/wasi-libcxx17/Makefile2
-rw-r--r--devel/wasi-libcxx18/Makefile1
-rw-r--r--mail/thunderbird/Makefile1
-rw-r--r--www/firefox-esr/Makefile1
-rw-r--r--www/firefox/Makefile1
-rw-r--r--www/librewolf/Makefile1
-rw-r--r--www/tor-browser/Makefile2
-rw-r--r--www/waterfox/Makefile2
57 files changed, 1528 insertions, 272 deletions
diff --git a/devel/wasi-compiler-rt/Makefile b/devel/wasi-compiler-rt/Makefile
index 89fa972ac97e..352058337db0 100644
--- a/devel/wasi-compiler-rt/Makefile
+++ b/devel/wasi-compiler-rt/Makefile
@@ -18,14 +18,13 @@ LICENSE_NAME= Apache License 2.0 with LLVM Exceptions
LICENSE_FILE= ${WRKSRC}/llvm/LICENSE.TXT
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc
-
USES= cmake tar:xz
.if ${DISTVERSION} == 0
IGNORE= is a meta-port; there is nothing to build
PKGNAMESUFFIX= -master
.else
+BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc@${LLVM_VERSION}
USES+= llvm:${LLVM_SUFFIX}
.endif
@@ -34,32 +33,36 @@ LLVM_SUFFIX= ${LLVM_RELEASE:C/\.[0-9]\.[0-9]$//}
DISTINFO_FILE= ${PORTSDIR}/${LLVM_PORT}/distinfo
NO_ARCH= yes
-CC= ${LOCALBASE}/bin/clang${LLVM_VERSION}
-CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION}
WASI_SYSROOT= ${LOCALBASE}/share/wasi-sysroot
TRIPLE= wasm32-wasi
WITHOUT_CPU_CFLAGS= yes
# try to sync with https://github.com/WebAssembly/wasi-sdk
-# Makefile and wasi-sdk.cmake
+# wasi-sdk.cmake and cmake/wasi-sdk-sysroot.cmake
CMAKE_SOURCE_PATH= ${WRKSRC}/compiler-rt/lib/builtins
-CMAKE_ARGS= -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \
+CMAKE_ARGS= -DCMAKE_SYSTEM_NAME=WASI \
+ -DCMAKE_SYSTEM_VERSION=1 \
+ -DCMAKE_SYSTEM_PROCESSOR=wasm32 \
+ -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \
-DCMAKE_RANLIB=${LOCALBASE}/bin/llvm-ranlib${LLVM_VERSION} \
-DCMAKE_C_COMPILER_TARGET=${TRIPLE} \
-DCMAKE_CXX_COMPILER_TARGET=${TRIPLE} \
+ -DCMAKE_ASM_COMPILER_TARGET=${TRIPLE} \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
- -DCMAKE_SYSROOT=${WASI_SYSROOT} \
-DCMAKE_C_COMPILER_WORKS=ON \
+ -DCMAKE_CXX_COMPILER_WORKS=ON \
+ -DCMAKE_SYSROOT=${WASI_SYSROOT} \
-DCOMPILER_RT_BAREMETAL_BUILD=ON \
+ -DCOMPILER_RT_BUILD_XRAY=OFF \
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
- -DCOMPILER_RT_HAS_FPIC_FLAG=ON \
+ -DCOMPILER_RT_HAS_FPIC_FLAG=OFF \
+ -DCOMPILER_RT_ENABLE_IOS=OFF \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
-DCOMPILER_RT_OS_DIR=wasi
-
-CMAKE_ARGS+= -DLLVM_CMAKE_DIR=${LLVM_PREFIX}
CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX}/lib/clang/${LLVM_VERSION}
+
PLIST_FILES= ${LLVM_PREFIX}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a
.include <bsd.port.mk>
diff --git a/devel/wasi-compiler-rt17/Makefile b/devel/wasi-compiler-rt17/Makefile
index caae24542522..5c7882c84831 100644
--- a/devel/wasi-compiler-rt17/Makefile
+++ b/devel/wasi-compiler-rt17/Makefile
@@ -1,6 +1,6 @@
# must sync with devel/llvm17
DISTVERSION= 17.0.6
-PORTREVISION= 1
+PORTREVISION= 2
MASTERDIR= ${.CURDIR}/../wasi-compiler-rt
diff --git a/devel/wasi-compiler-rt18/Makefile b/devel/wasi-compiler-rt18/Makefile
index e56592852dfc..5d51ffdf1b5b 100644
--- a/devel/wasi-compiler-rt18/Makefile
+++ b/devel/wasi-compiler-rt18/Makefile
@@ -1,5 +1,6 @@
# must sync with devel/llvm18
DISTVERSION= 18.1.8
+PORTREVISION= 1
MASTERDIR= ${.CURDIR}/../wasi-compiler-rt
diff --git a/devel/wasi-libc/Makefile b/devel/wasi-libc/Makefile
index 4121d70b7eb4..6b55843fd271 100644
--- a/devel/wasi-libc/Makefile
+++ b/devel/wasi-libc/Makefile
@@ -1,8 +1,9 @@
PORTNAME= wasi-libc
DISTVERSIONPREFIX= wasi-sdk-
-DISTVERSION= 21
-PORTREVISION= 1
+DISTVERSION= 22-27
+DISTVERSIONSUFFIX= -g98897e2
CATEGORIES= devel
+PKGNAMESUFFIX= ${FLAVOR}
MAINTAINER= vishwin@FreeBSD.org
COMMENT= C standard library for WebAssembly System Interface
@@ -16,11 +17,15 @@ LICENSE_FILE_LLVM2= ${WRKSRC}/LICENSE-APACHE-LLVM
LICENSE_NAME_LLVM2= Apache License 2.0 with LLVM Exceptions
LICENSE_PERMS_LLVM2= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-USES= gmake llvm:min=17
+FLAVORS= 18 19 17
+
+USES= gmake llvm:${FLAVOR}
USE_GITHUB= yes
GH_ACCOUNT= WebAssembly
GH_TUPLE= WebAssembly:WASI:59cbe14:wasi/tools/wasi-headers/WASI
NO_ARCH= yes
+PLIST= ${PKGDIR}/pkg-plist${LLVM_VERSION}
+CONFLICTS_INSTALL= wasi-libc[0-9]*
ALL_TARGET= finish
@@ -41,7 +46,7 @@ post-install:
# NOTE: our llvm ports don't ship stdarg/stddef clang headers, so
# they are copied from clang/lib/Headers into FILESDIR and we install
# them to the sysroot
- ${INSTALL_DATA} ${FILESDIR}/*stdarg*.h ${STAGEDIR}${WASI_SYSROOT}/include/
- ${INSTALL_DATA} ${FILESDIR}/*stddef*.h ${STAGEDIR}${WASI_SYSROOT}/include/
+ ${INSTALL_DATA} ${FILESDIR}/llvm${LLVM_VERSION}/*stdarg*.h ${STAGEDIR}${WASI_SYSROOT}/include/
+ ${INSTALL_DATA} ${FILESDIR}/llvm${LLVM_VERSION}/*stddef*.h ${STAGEDIR}${WASI_SYSROOT}/include/
.include <bsd.port.mk>
diff --git a/devel/wasi-libc/distinfo b/devel/wasi-libc/distinfo
index 123bd995cc9d..dbc1032fc1ce 100644
--- a/devel/wasi-libc/distinfo
+++ b/devel/wasi-libc/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1704903461
-SHA256 (WebAssembly-wasi-libc-wasi-sdk-21_GH0.tar.gz) = 4a2a3e3b120ba1163c57f34ac79c3de720a8355ee3a753d81f1f0c58c4cf6017
-SIZE (WebAssembly-wasi-libc-wasi-sdk-21_GH0.tar.gz) = 1313865
+TIMESTAMP = 1729202659
+SHA256 (WebAssembly-wasi-libc-wasi-sdk-22-27-g98897e2_GH0.tar.gz) = 0c393cbc7c14d9c2dfe53b850aff91d808e7d409d36cc28fc33b469bc45a145f
+SIZE (WebAssembly-wasi-libc-wasi-sdk-22-27-g98897e2_GH0.tar.gz) = 1433626
SHA256 (WebAssembly-WASI-59cbe14_GH0.tar.gz) = 4e36c4add2421b44ccdded83d442d9aadf02ffa8b534d94016fad2bb7b781cc6
SIZE (WebAssembly-WASI-59cbe14_GH0.tar.gz) = 162059
diff --git a/devel/wasi-libc/files/llvm17/__stddef_max_align_t.h b/devel/wasi-libc/files/llvm17/__stddef_max_align_t.h
new file mode 100644
index 000000000000..e3b439285d0f
--- /dev/null
+++ b/devel/wasi-libc/files/llvm17/__stddef_max_align_t.h
@@ -0,0 +1,27 @@
+/*===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __CLANG_MAX_ALIGN_T_DEFINED
+#define __CLANG_MAX_ALIGN_T_DEFINED
+
+#if defined(_MSC_VER)
+typedef double max_align_t;
+#elif defined(__APPLE__)
+typedef long double max_align_t;
+#else
+// Define 'max_align_t' to match the GCC definition.
+typedef struct {
+ long long __clang_max_align_nonce1
+ __attribute__((__aligned__(__alignof__(long long))));
+ long double __clang_max_align_nonce2
+ __attribute__((__aligned__(__alignof__(long double))));
+} max_align_t;
+#endif
+
+#endif
diff --git a/devel/wasi-libc/files/llvm17/stdarg.h b/devel/wasi-libc/files/llvm17/stdarg.h
new file mode 100644
index 000000000000..ba978721f1f3
--- /dev/null
+++ b/devel/wasi-libc/files/llvm17/stdarg.h
@@ -0,0 +1,51 @@
+/*===---- stdarg.h - Variable argument handling ----------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDARG_H
+
+#ifndef __GNUC_VA_LIST
+#define __GNUC_VA_LIST
+typedef __builtin_va_list __gnuc_va_list;
+#endif
+
+#ifdef __need___va_list
+#undef __need___va_list
+#else
+#define __STDARG_H
+#ifndef _VA_LIST
+typedef __builtin_va_list va_list;
+#define _VA_LIST
+#endif
+
+/* FIXME: This is using the placeholder dates Clang produces for these macros
+ in C2x mode; switch to the correct values once they've been published. */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
+/* C2x does not require the second parameter for va_start. */
+#define va_start(ap, ...) __builtin_va_start(ap, 0)
+#else
+/* Versions before C2x do require the second parameter. */
+#define va_start(ap, param) __builtin_va_start(ap, param)
+#endif
+#define va_end(ap) __builtin_va_end(ap)
+#define va_arg(ap, type) __builtin_va_arg(ap, type)
+
+/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
+ * or -ansi is not specified, since it was not part of C90.
+ */
+#define __va_copy(d,s) __builtin_va_copy(d,s)
+
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
+ !defined(__STRICT_ANSI__)
+#define va_copy(dest, src) __builtin_va_copy(dest, src)
+#endif
+
+#endif /* __STDARG_H */
+
+#endif /* not __STDARG_H */
diff --git a/devel/wasi-libc/files/llvm17/stddef.h b/devel/wasi-libc/files/llvm17/stddef.h
new file mode 100644
index 000000000000..539541f0ed41
--- /dev/null
+++ b/devel/wasi-libc/files/llvm17/stddef.h
@@ -0,0 +1,133 @@
+/*===---- stddef.h - Basic type definitions --------------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
+ defined(__need_size_t) || defined(__need_wchar_t) || \
+ defined(__need_NULL) || defined(__need_wint_t)
+
+#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
+ !defined(__need_wchar_t) && !defined(__need_NULL) && \
+ !defined(__need_wint_t)
+/* Always define miscellaneous pieces when modules are available. */
+#if !__has_feature(modules)
+#define __STDDEF_H
+#endif
+#define __need_ptrdiff_t
+#define __need_size_t
+#define __need_wchar_t
+#define __need_NULL
+#define __need_STDDEF_H_misc
+/* __need_wint_t is intentionally not defined here. */
+#endif
+
+#if defined(__need_ptrdiff_t)
+#if !defined(_PTRDIFF_T) || __has_feature(modules)
+/* Always define ptrdiff_t when modules are available. */
+#if !__has_feature(modules)
+#define _PTRDIFF_T
+#endif
+typedef __PTRDIFF_TYPE__ ptrdiff_t;
+#endif
+#undef __need_ptrdiff_t
+#endif /* defined(__need_ptrdiff_t) */
+
+#if defined(__need_size_t)
+#if !defined(_SIZE_T) || __has_feature(modules)
+/* Always define size_t when modules are available. */
+#if !__has_feature(modules)
+#define _SIZE_T
+#endif
+typedef __SIZE_TYPE__ size_t;
+#endif
+#undef __need_size_t
+#endif /*defined(__need_size_t) */
+
+#if defined(__need_STDDEF_H_misc)
+/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
+ * enabled. */
+#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
+ !defined(_RSIZE_T)) || __has_feature(modules)
+/* Always define rsize_t when modules are available. */
+#if !__has_feature(modules)
+#define _RSIZE_T
+#endif
+typedef __SIZE_TYPE__ rsize_t;
+#endif
+#endif /* defined(__need_STDDEF_H_misc) */
+
+#if defined(__need_wchar_t)
+#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED)
+/* Always define wchar_t when modules are available. */
+#if !defined(_WCHAR_T) || __has_feature(modules)
+#if !__has_feature(modules)
+#define _WCHAR_T
+#if defined(_MSC_EXTENSIONS)
+#define _WCHAR_T_DEFINED
+#endif
+#endif
+typedef __WCHAR_TYPE__ wchar_t;
+#endif
+#endif
+#undef __need_wchar_t
+#endif /* defined(__need_wchar_t) */
+
+#if defined(__need_NULL)
+#undef NULL
+#ifdef __cplusplus
+# if !defined(__MINGW32__) && !defined(_MSC_VER)
+# define NULL __null
+# else
+# define NULL 0
+# endif
+#else
+# define NULL ((void*)0)
+#endif
+#ifdef __cplusplus
+#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
+namespace std { typedef decltype(nullptr) nullptr_t; }
+using ::std::nullptr_t;
+#endif
+#endif
+#undef __need_NULL
+#endif /* defined(__need_NULL) */
+
+/* FIXME: This is using the placeholder dates Clang produces for these macros
+ in C2x mode; switch to the correct values once they've been published. */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
+typedef typeof(nullptr) nullptr_t;
+#endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L */
+
+#if defined(__need_STDDEF_H_misc) && defined(__STDC_VERSION__) && \
+ __STDC_VERSION__ >= 202000L
+#define unreachable() __builtin_unreachable()
+#endif /* defined(__need_STDDEF_H_misc) && >= C23 */
+
+#if defined(__need_STDDEF_H_misc)
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
+ (defined(__cplusplus) && __cplusplus >= 201103L)
+#include "__stddef_max_align_t.h"
+#endif
+#define offsetof(t, d) __builtin_offsetof(t, d)
+#undef __need_STDDEF_H_misc
+#endif /* defined(__need_STDDEF_H_misc) */
+
+/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
+__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
+#if defined(__need_wint_t)
+/* Always define wint_t when modules are available. */
+#if !defined(_WINT_T) || __has_feature(modules)
+#if !__has_feature(modules)
+#define _WINT_T
+#endif
+typedef __WINT_TYPE__ wint_t;
+#endif
+#undef __need_wint_t
+#endif /* __need_wint_t */
+
+#endif
diff --git a/devel/wasi-libc/files/__stdarg___gnuc_va_list.h b/devel/wasi-libc/files/llvm18/__stdarg___gnuc_va_list.h
index 2a0a7e8cc6c0..2a0a7e8cc6c0 100644
--- a/devel/wasi-libc/files/__stdarg___gnuc_va_list.h
+++ b/devel/wasi-libc/files/llvm18/__stdarg___gnuc_va_list.h
diff --git a/devel/wasi-libc/files/__stdarg___va_copy.h b/devel/wasi-libc/files/llvm18/__stdarg___va_copy.h
index e433e18a7082..e433e18a7082 100644
--- a/devel/wasi-libc/files/__stdarg___va_copy.h
+++ b/devel/wasi-libc/files/llvm18/__stdarg___va_copy.h
diff --git a/devel/wasi-libc/files/__stdarg_va_arg.h b/devel/wasi-libc/files/llvm18/__stdarg_va_arg.h
index 89bd2f65d3be..89bd2f65d3be 100644
--- a/devel/wasi-libc/files/__stdarg_va_arg.h
+++ b/devel/wasi-libc/files/llvm18/__stdarg_va_arg.h
diff --git a/devel/wasi-libc/files/__stdarg_va_copy.h b/devel/wasi-libc/files/llvm18/__stdarg_va_copy.h
index 8645328c2c68..8645328c2c68 100644
--- a/devel/wasi-libc/files/__stdarg_va_copy.h
+++ b/devel/wasi-libc/files/llvm18/__stdarg_va_copy.h
diff --git a/devel/wasi-libc/files/__stdarg_va_list.h b/devel/wasi-libc/files/llvm18/__stdarg_va_list.h
index 20c2e2cad940..20c2e2cad940 100644
--- a/devel/wasi-libc/files/__stdarg_va_list.h
+++ b/devel/wasi-libc/files/llvm18/__stdarg_va_list.h
diff --git a/devel/wasi-libc/files/__stddef_max_align_t.h b/devel/wasi-libc/files/llvm18/__stddef_max_align_t.h
index 512606a87728..512606a87728 100644
--- a/devel/wasi-libc/files/__stddef_max_align_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_max_align_t.h
diff --git a/devel/wasi-libc/files/__stddef_null.h b/devel/wasi-libc/files/llvm18/__stddef_null.h
index c10bd2d7d988..c10bd2d7d988 100644
--- a/devel/wasi-libc/files/__stddef_null.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_null.h
diff --git a/devel/wasi-libc/files/__stddef_nullptr_t.h b/devel/wasi-libc/files/llvm18/__stddef_nullptr_t.h
index 7f3fbe6fe0d3..7f3fbe6fe0d3 100644
--- a/devel/wasi-libc/files/__stddef_nullptr_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_nullptr_t.h
diff --git a/devel/wasi-libc/files/__stddef_offsetof.h b/devel/wasi-libc/files/llvm18/__stddef_offsetof.h
index 84172c6cd273..84172c6cd273 100644
--- a/devel/wasi-libc/files/__stddef_offsetof.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_offsetof.h
diff --git a/devel/wasi-libc/files/__stddef_ptrdiff_t.h b/devel/wasi-libc/files/llvm18/__stddef_ptrdiff_t.h
index fd3c893c66c9..fd3c893c66c9 100644
--- a/devel/wasi-libc/files/__stddef_ptrdiff_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_ptrdiff_t.h
diff --git a/devel/wasi-libc/files/__stddef_rsize_t.h b/devel/wasi-libc/files/llvm18/__stddef_rsize_t.h
index dd433d40d973..dd433d40d973 100644
--- a/devel/wasi-libc/files/__stddef_rsize_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_rsize_t.h
diff --git a/devel/wasi-libc/files/__stddef_size_t.h b/devel/wasi-libc/files/llvm18/__stddef_size_t.h
index 3dd7b1f37929..3dd7b1f37929 100644
--- a/devel/wasi-libc/files/__stddef_size_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_size_t.h
diff --git a/devel/wasi-libc/files/__stddef_unreachable.h b/devel/wasi-libc/files/llvm18/__stddef_unreachable.h
index 518580c92d3f..61df43e9732f 100644
--- a/devel/wasi-libc/files/__stddef_unreachable.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_unreachable.h
@@ -7,6 +7,8 @@
*===-----------------------------------------------------------------------===
*/
+#ifndef __cplusplus
+
/*
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
* and needs to behave as if it was textual.
@@ -15,3 +17,5 @@
(__has_feature(modules) && !__building_module(_Builtin_stddef))
#define unreachable() __builtin_unreachable()
#endif
+
+#endif
diff --git a/devel/wasi-libc/files/__stddef_wchar_t.h b/devel/wasi-libc/files/llvm18/__stddef_wchar_t.h
index bd69f6322541..bd69f6322541 100644
--- a/devel/wasi-libc/files/__stddef_wchar_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_wchar_t.h
diff --git a/devel/wasi-libc/files/__stddef_wint_t.h b/devel/wasi-libc/files/llvm18/__stddef_wint_t.h
index 0aa291507957..0aa291507957 100644
--- a/devel/wasi-libc/files/__stddef_wint_t.h
+++ b/devel/wasi-libc/files/llvm18/__stddef_wint_t.h
diff --git a/devel/wasi-libc/files/stdarg.h b/devel/wasi-libc/files/llvm18/stdarg.h
index 94b066566f08..94b066566f08 100644
--- a/devel/wasi-libc/files/stdarg.h
+++ b/devel/wasi-libc/files/llvm18/stdarg.h
diff --git a/devel/wasi-libc/files/stddef.h b/devel/wasi-libc/files/llvm18/stddef.h
index e0ad7b8d17af..e0ad7b8d17af 100644
--- a/devel/wasi-libc/files/stddef.h
+++ b/devel/wasi-libc/files/llvm18/stddef.h
diff --git a/devel/wasi-libc/files/llvm19/__stdarg___gnuc_va_list.h b/devel/wasi-libc/files/llvm19/__stdarg___gnuc_va_list.h
new file mode 100644
index 000000000000..2a0a7e8cc6c0
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stdarg___gnuc_va_list.h
@@ -0,0 +1,13 @@
+/*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __GNUC_VA_LIST
+#define __GNUC_VA_LIST
+typedef __builtin_va_list __gnuc_va_list;
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stdarg___va_copy.h b/devel/wasi-libc/files/llvm19/__stdarg___va_copy.h
new file mode 100644
index 000000000000..e433e18a7082
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stdarg___va_copy.h
@@ -0,0 +1,12 @@
+/*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __va_copy
+#define __va_copy(d, s) __builtin_va_copy(d, s)
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stdarg_header_macro.h b/devel/wasi-libc/files/llvm19/__stdarg_header_macro.h
new file mode 100644
index 000000000000..beb92ee02526
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stdarg_header_macro.h
@@ -0,0 +1,12 @@
+/*===---- __stdarg_header_macro.h ------------------------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDARG_H
+#define __STDARG_H
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stdarg_va_arg.h b/devel/wasi-libc/files/llvm19/__stdarg_va_arg.h
new file mode 100644
index 000000000000..89bd2f65d3be
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stdarg_va_arg.h
@@ -0,0 +1,22 @@
+/*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef va_arg
+
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+/* C23 does not require the second parameter for va_start. */
+#define va_start(ap, ...) __builtin_va_start(ap, 0)
+#else
+/* Versions before C23 do require the second parameter. */
+#define va_start(ap, param) __builtin_va_start(ap, param)
+#endif
+#define va_end(ap) __builtin_va_end(ap)
+#define va_arg(ap, type) __builtin_va_arg(ap, type)
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stdarg_va_copy.h b/devel/wasi-libc/files/llvm19/__stdarg_va_copy.h
new file mode 100644
index 000000000000..8645328c2c68
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stdarg_va_copy.h
@@ -0,0 +1,12 @@
+/*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef va_copy
+#define va_copy(dest, src) __builtin_va_copy(dest, src)
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stdarg_va_list.h b/devel/wasi-libc/files/llvm19/__stdarg_va_list.h
new file mode 100644
index 000000000000..20c2e2cad940
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stdarg_va_list.h
@@ -0,0 +1,13 @@
+/*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef _VA_LIST
+#define _VA_LIST
+typedef __builtin_va_list va_list;
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_header_macro.h b/devel/wasi-libc/files/llvm19/__stddef_header_macro.h
new file mode 100644
index 000000000000..db5fb3c0abc1
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_header_macro.h
@@ -0,0 +1,12 @@
+/*===---- __stddef_header_macro.h ------------------------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDDEF_H
+#define __STDDEF_H
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_max_align_t.h b/devel/wasi-libc/files/llvm19/__stddef_max_align_t.h
new file mode 100644
index 000000000000..512606a87728
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_max_align_t.h
@@ -0,0 +1,27 @@
+/*===---- __stddef_max_align_t.h - Definition of max_align_t ---------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __CLANG_MAX_ALIGN_T_DEFINED
+#define __CLANG_MAX_ALIGN_T_DEFINED
+
+#if defined(_MSC_VER)
+typedef double max_align_t;
+#elif defined(__APPLE__)
+typedef long double max_align_t;
+#else
+// Define 'max_align_t' to match the GCC definition.
+typedef struct {
+ long long __clang_max_align_nonce1
+ __attribute__((__aligned__(__alignof__(long long))));
+ long double __clang_max_align_nonce2
+ __attribute__((__aligned__(__alignof__(long double))));
+} max_align_t;
+#endif
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_null.h b/devel/wasi-libc/files/llvm19/__stddef_null.h
new file mode 100644
index 000000000000..c10bd2d7d988
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_null.h
@@ -0,0 +1,29 @@
+/*===---- __stddef_null.h - Definition of NULL -----------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#if !defined(NULL) || !__building_module(_Builtin_stddef)
+
+/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define
+ * __need_NULL and rely on stddef.h to redefine NULL to the correct value again.
+ * Modules don't support redefining macros like that, but support that pattern
+ * in the non-modules case.
+ */
+#undef NULL
+
+#ifdef __cplusplus
+#if !defined(__MINGW32__) && !defined(_MSC_VER)
+#define NULL __null
+#else
+#define NULL 0
+#endif
+#else
+#define NULL ((void*)0)
+#endif
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_nullptr_t.h b/devel/wasi-libc/files/llvm19/__stddef_nullptr_t.h
new file mode 100644
index 000000000000..7f3fbe6fe0d3
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_nullptr_t.h
@@ -0,0 +1,29 @@
+/*===---- __stddef_nullptr_t.h - Definition of nullptr_t -------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(_NULLPTR_T) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define _NULLPTR_T
+
+#ifdef __cplusplus
+#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
+namespace std {
+typedef decltype(nullptr) nullptr_t;
+}
+using ::std::nullptr_t;
+#endif
+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+typedef typeof(nullptr) nullptr_t;
+#endif
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_offsetof.h b/devel/wasi-libc/files/llvm19/__stddef_offsetof.h
new file mode 100644
index 000000000000..84172c6cd273
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_offsetof.h
@@ -0,0 +1,17 @@
+/*===---- __stddef_offsetof.h - Definition of offsetof ---------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(offsetof) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define offsetof(t, d) __builtin_offsetof(t, d)
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_ptrdiff_t.h b/devel/wasi-libc/files/llvm19/__stddef_ptrdiff_t.h
new file mode 100644
index 000000000000..fd3c893c66c9
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_ptrdiff_t.h
@@ -0,0 +1,20 @@
+/*===---- __stddef_ptrdiff_t.h - Definition of ptrdiff_t -------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(_PTRDIFF_T) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define _PTRDIFF_T
+
+typedef __PTRDIFF_TYPE__ ptrdiff_t;
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_rsize_t.h b/devel/wasi-libc/files/llvm19/__stddef_rsize_t.h
new file mode 100644
index 000000000000..dd433d40d973
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_rsize_t.h
@@ -0,0 +1,20 @@
+/*===---- __stddef_rsize_t.h - Definition of rsize_t -----------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(_RSIZE_T) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define _RSIZE_T
+
+typedef __SIZE_TYPE__ rsize_t;
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_size_t.h b/devel/wasi-libc/files/llvm19/__stddef_size_t.h
new file mode 100644
index 000000000000..3dd7b1f37929
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_size_t.h
@@ -0,0 +1,20 @@
+/*===---- __stddef_size_t.h - Definition of size_t -------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(_SIZE_T) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define _SIZE_T
+
+typedef __SIZE_TYPE__ size_t;
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_unreachable.h b/devel/wasi-libc/files/llvm19/__stddef_unreachable.h
new file mode 100644
index 000000000000..61df43e9732f
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_unreachable.h
@@ -0,0 +1,21 @@
+/*===---- __stddef_unreachable.h - Definition of unreachable ---------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef __cplusplus
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(unreachable) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define unreachable() __builtin_unreachable()
+#endif
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_wchar_t.h b/devel/wasi-libc/files/llvm19/__stddef_wchar_t.h
new file mode 100644
index 000000000000..bd69f6322541
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_wchar_t.h
@@ -0,0 +1,28 @@
+/*===---- __stddef_wchar.h - Definition of wchar_t -------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED)
+
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(_WCHAR_T) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
+#define _WCHAR_T
+
+#ifdef _MSC_EXTENSIONS
+#define _WCHAR_T_DEFINED
+#endif
+
+typedef __WCHAR_TYPE__ wchar_t;
+
+#endif
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/__stddef_wint_t.h b/devel/wasi-libc/files/llvm19/__stddef_wint_t.h
new file mode 100644
index 000000000000..0aa291507957
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/__stddef_wint_t.h
@@ -0,0 +1,15 @@
+/*===---- __stddef_wint.h - Definition of wint_t ---------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+#ifndef _WINT_T
+#define _WINT_T
+
+typedef __WINT_TYPE__ wint_t;
+
+#endif
diff --git a/devel/wasi-libc/files/llvm19/stdarg.h b/devel/wasi-libc/files/llvm19/stdarg.h
new file mode 100644
index 000000000000..6203d7a600a2
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/stdarg.h
@@ -0,0 +1,75 @@
+/*===---- stdarg.h - Variable argument handling ----------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * This header is designed to be included multiple times. If any of the __need_
+ * macros are defined, then only that subset of interfaces are provided. This
+ * can be useful for POSIX headers that need to not expose all of stdarg.h, but
+ * need to use some of its interfaces. Otherwise this header provides all of
+ * the expected interfaces.
+ *
+ * When clang modules are enabled, this header is a textual header to support
+ * the multiple include behavior. As such, it doesn't directly declare anything
+ * so that it doesn't add duplicate declarations to all of its includers'
+ * modules.
+ */
+#if defined(__MVS__) && __has_include_next(<stdarg.h>)
+#undef __need___va_list
+#undef __need_va_list
+#undef __need_va_arg
+#undef __need___va_copy
+#undef __need_va_copy
+#include <__stdarg_header_macro.h>
+#include_next <stdarg.h>
+
+#else
+#if !defined(__need___va_list) && !defined(__need_va_list) && \
+ !defined(__need_va_arg) && !defined(__need___va_copy) && \
+ !defined(__need_va_copy)
+#define __need___va_list
+#define __need_va_list
+#define __need_va_arg
+#define __need___va_copy
+/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
+ * or -ansi is not specified, since it was not part of C90.
+ */
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
+ !defined(__STRICT_ANSI__)
+#define __need_va_copy
+#endif
+#include <__stdarg_header_macro.h>
+#endif
+
+#ifdef __need___va_list
+#include <__stdarg___gnuc_va_list.h>
+#undef __need___va_list
+#endif /* defined(__need___va_list) */
+
+#ifdef __need_va_list
+#include <__stdarg_va_list.h>
+#undef __need_va_list
+#endif /* defined(__need_va_list) */
+
+#ifdef __need_va_arg
+#include <__stdarg_va_arg.h>
+#undef __need_va_arg
+#endif /* defined(__need_va_arg) */
+
+#ifdef __need___va_copy
+#include <__stdarg___va_copy.h>
+#undef __need___va_copy
+#endif /* defined(__need___va_copy) */
+
+#ifdef __need_va_copy
+#include <__stdarg_va_copy.h>
+#undef __need_va_copy
+#endif /* defined(__need_va_copy) */
+
+#endif /* __MVS__ */
diff --git a/devel/wasi-libc/files/llvm19/stddef.h b/devel/wasi-libc/files/llvm19/stddef.h
new file mode 100644
index 000000000000..99b275aebf5a
--- /dev/null
+++ b/devel/wasi-libc/files/llvm19/stddef.h
@@ -0,0 +1,139 @@
+/*===---- stddef.h - Basic type definitions --------------------------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+
+/*
+ * This header is designed to be included multiple times. If any of the __need_
+ * macros are defined, then only that subset of interfaces are provided. This
+ * can be useful for POSIX headers that need to not expose all of stddef.h, but
+ * need to use some of its interfaces. Otherwise this header provides all of
+ * the expected interfaces.
+ *
+ * When clang modules are enabled, this header is a textual header to support
+ * the multiple include behavior. As such, it doesn't directly declare anything
+ * so that it doesn't add duplicate declarations to all of its includers'
+ * modules.
+ */
+#if defined(__MVS__) && __has_include_next(<stddef.h>)
+#undef __need_ptrdiff_t
+#undef __need_size_t
+#undef __need_rsize_t
+#undef __need_wchar_t
+#undef __need_NULL
+#undef __need_nullptr_t
+#undef __need_unreachable
+#undef __need_max_align_t
+#undef __need_offsetof
+#undef __need_wint_t
+#include <__stddef_header_macro.h>
+#include_next <stddef.h>
+
+#else
+
+#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
+ !defined(__need_rsize_t) && !defined(__need_wchar_t) && \
+ !defined(__need_NULL) && !defined(__need_nullptr_t) && \
+ !defined(__need_unreachable) && !defined(__need_max_align_t) && \
+ !defined(__need_offsetof) && !defined(__need_wint_t)
+#define __need_ptrdiff_t
+#define __need_size_t
+/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
+ * enabled. */
+#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
+#define __need_rsize_t
+#endif
+#define __need_wchar_t
+#if !defined(__STDDEF_H) || __has_feature(modules)
+/*
+ * __stddef_null.h is special when building without modules: if __need_NULL is
+ * set, then it will unconditionally redefine NULL. To avoid stepping on client
+ * definitions of NULL, __need_NULL should only be set the first time this
+ * header is included, that is when __STDDEF_H is not defined. However, when
+ * building with modules, this header is a textual header and needs to
+ * unconditionally include __stdef_null.h to support multiple submodules
+ * exporting _Builtin_stddef.null. Take module SM with submodules A and B, whose
+ * headers both include stddef.h When SM.A builds, __STDDEF_H will be defined.
+ * When SM.B builds, the definition from SM.A will leak when building without
+ * local submodule visibility. stddef.h wouldn't include __stddef_null.h, and
+ * SM.B wouldn't import _Builtin_stddef.null, and SM.B's `export *` wouldn't
+ * export NULL as expected. When building with modules, always include
+ * __stddef_null.h so that everything works as expected.
+ */
+#define __need_NULL
+#endif
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
+ defined(__cplusplus)
+#define __need_nullptr_t
+#endif
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+#define __need_unreachable
+#endif
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
+ (defined(__cplusplus) && __cplusplus >= 201103L)
+#define __need_max_align_t
+#endif
+#define __need_offsetof
+/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
+ * for compatibility, but must be explicitly requested. Therefore
+ * __need_wint_t is intentionally not defined here. */
+#include <__stddef_header_macro.h>
+#endif
+
+#if defined(__need_ptrdiff_t)
+#include <__stddef_ptrdiff_t.h>
+#undef __need_ptrdiff_t
+#endif /* defined(__need_ptrdiff_t) */
+
+#if defined(__need_size_t)
+#include <__stddef_size_t.h>
+#undef __need_size_t
+#endif /*defined(__need_size_t) */
+
+#if defined(__need_rsize_t)
+#include <__stddef_rsize_t.h>
+#undef __need_rsize_t
+#endif /* defined(__need_rsize_t) */
+
+#if defined(__need_wchar_t)
+#include <__stddef_wchar_t.h>
+#undef __need_wchar_t
+#endif /* defined(__need_wchar_t) */
+
+#if defined(__need_NULL)
+#include <__stddef_null.h>
+#undef __need_NULL
+#endif /* defined(__need_NULL) */
+
+#if defined(__need_nullptr_t)
+#include <__stddef_nullptr_t.h>
+#undef __need_nullptr_t
+#endif /* defined(__need_nullptr_t) */
+
+#if defined(__need_unreachable)
+#include <__stddef_unreachable.h>
+#undef __need_unreachable
+#endif /* defined(__need_unreachable) */
+
+#if defined(__need_max_align_t)
+#include <__stddef_max_align_t.h>
+#undef __need_max_align_t
+#endif /* defined(__need_max_align_t) */
+
+#if defined(__need_offsetof)
+#include <__stddef_offsetof.h>
+#undef __need_offsetof
+#endif /* defined(__need_offsetof) */
+
+/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
+__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
+#if defined(__need_wint_t)
+#include <__stddef_wint_t.h>
+#undef __need_wint_t
+#endif /* __need_wint_t */
+
+#endif /* __MVS__ */
diff --git a/devel/wasi-libc/pkg-plist b/devel/wasi-libc/pkg-plist
deleted file mode 100644
index 1a52ec4c7996..000000000000
--- a/devel/wasi-libc/pkg-plist
+++ /dev/null
@@ -1,238 +0,0 @@
-share/wasi-sysroot/include/__errno.h
-share/wasi-sysroot/include/__errno_values.h
-share/wasi-sysroot/include/__fd_set.h
-share/wasi-sysroot/include/__function___isatty.h
-share/wasi-sysroot/include/__functions_malloc.h
-share/wasi-sysroot/include/__functions_memcpy.h
-share/wasi-sysroot/include/__header_dirent.h
-share/wasi-sysroot/include/__header_fcntl.h
-share/wasi-sysroot/include/__header_inttypes.h
-share/wasi-sysroot/include/__header_netinet_in.h
-share/wasi-sysroot/include/__header_poll.h
-share/wasi-sysroot/include/__header_stdlib.h
-share/wasi-sysroot/include/__header_string.h
-share/wasi-sysroot/include/__header_sys_ioctl.h
-share/wasi-sysroot/include/__header_sys_resource.h
-share/wasi-sysroot/include/__header_sys_socket.h
-share/wasi-sysroot/include/__header_sys_stat.h
-share/wasi-sysroot/include/__header_time.h
-share/wasi-sysroot/include/__header_unistd.h
-share/wasi-sysroot/include/__macro_FD_SETSIZE.h
-share/wasi-sysroot/include/__macro_PAGESIZE.h
-share/wasi-sysroot/include/__mode_t.h
-share/wasi-sysroot/include/__seek.h
-share/wasi-sysroot/include/__stdarg___gnuc_va_list.h
-share/wasi-sysroot/include/__stdarg___va_copy.h
-share/wasi-sysroot/include/__stdarg_va_arg.h
-share/wasi-sysroot/include/__stdarg_va_copy.h
-share/wasi-sysroot/include/__stdarg_va_list.h
-share/wasi-sysroot/include/__stddef_max_align_t.h
-share/wasi-sysroot/include/__stddef_null.h
-share/wasi-sysroot/include/__stddef_nullptr_t.h
-share/wasi-sysroot/include/__stddef_offsetof.h
-share/wasi-sysroot/include/__stddef_ptrdiff_t.h
-share/wasi-sysroot/include/__stddef_rsize_t.h
-share/wasi-sysroot/include/__stddef_size_t.h
-share/wasi-sysroot/include/__stddef_unreachable.h
-share/wasi-sysroot/include/__stddef_wchar_t.h
-share/wasi-sysroot/include/__stddef_wint_t.h
-share/wasi-sysroot/include/__struct_dirent.h
-share/wasi-sysroot/include/__struct_in6_addr.h
-share/wasi-sysroot/include/__struct_in_addr.h
-share/wasi-sysroot/include/__struct_iovec.h
-share/wasi-sysroot/include/__struct_msghdr.h
-share/wasi-sysroot/include/__struct_pollfd.h
-share/wasi-sysroot/include/__struct_rusage.h
-share/wasi-sysroot/include/__struct_sockaddr.h
-share/wasi-sysroot/include/__struct_sockaddr_in.h
-share/wasi-sysroot/include/__struct_sockaddr_in6.h
-share/wasi-sysroot/include/__struct_sockaddr_storage.h
-share/wasi-sysroot/include/__struct_sockaddr_un.h
-share/wasi-sysroot/include/__struct_stat.h
-share/wasi-sysroot/include/__struct_timespec.h
-share/wasi-sysroot/include/__struct_timeval.h
-share/wasi-sysroot/include/__struct_tm.h
-share/wasi-sysroot/include/__struct_tms.h
-share/wasi-sysroot/include/__typedef_DIR.h
-share/wasi-sysroot/include/__typedef_blkcnt_t.h
-share/wasi-sysroot/include/__typedef_blksize_t.h
-share/wasi-sysroot/include/__typedef_clock_t.h
-share/wasi-sysroot/include/__typedef_clockid_t.h
-share/wasi-sysroot/include/__typedef_dev_t.h
-share/wasi-sysroot/include/__typedef_fd_set.h
-share/wasi-sysroot/include/__typedef_gid_t.h
-share/wasi-sysroot/include/__typedef_in_addr_t.h
-share/wasi-sysroot/include/__typedef_in_port_t.h
-share/wasi-sysroot/include/__typedef_ino_t.h
-share/wasi-sysroot/include/__typedef_mode_t.h
-share/wasi-sysroot/include/__typedef_nfds_t.h
-share/wasi-sysroot/include/__typedef_nlink_t.h
-share/wasi-sysroot/include/__typedef_off_t.h
-share/wasi-sysroot/include/__typedef_sa_family_t.h
-share/wasi-sysroot/include/__typedef_sigset_t.h
-share/wasi-sysroot/include/__typedef_socklen_t.h
-share/wasi-sysroot/include/__typedef_ssize_t.h
-share/wasi-sysroot/include/__typedef_suseconds_t.h
-share/wasi-sysroot/include/__typedef_time_t.h
-share/wasi-sysroot/include/__typedef_uid_t.h
-share/wasi-sysroot/include/alloca.h
-share/wasi-sysroot/include/ar.h
-share/wasi-sysroot/include/arpa/ftp.h
-share/wasi-sysroot/include/arpa/inet.h
-share/wasi-sysroot/include/arpa/nameser.h
-share/wasi-sysroot/include/arpa/nameser_compat.h
-share/wasi-sysroot/include/arpa/telnet.h
-share/wasi-sysroot/include/arpa/tftp.h
-share/wasi-sysroot/include/assert.h
-share/wasi-sysroot/include/bits/alltypes.h
-share/wasi-sysroot/include/bits/dirent.h
-share/wasi-sysroot/include/bits/fcntl.h
-share/wasi-sysroot/include/bits/fenv.h
-share/wasi-sysroot/include/bits/float.h
-share/wasi-sysroot/include/bits/hwcap.h
-share/wasi-sysroot/include/bits/io.h
-share/wasi-sysroot/include/bits/ioctl.h
-share/wasi-sysroot/include/bits/ioctl_fix.h
-share/wasi-sysroot/include/bits/ipcstat.h
-share/wasi-sysroot/include/bits/limits.h
-share/wasi-sysroot/include/bits/mman.h
-share/wasi-sysroot/include/bits/poll.h
-share/wasi-sysroot/include/bits/posix.h
-share/wasi-sysroot/include/bits/reg.h
-share/wasi-sysroot/include/bits/resource.h
-share/wasi-sysroot/include/bits/signal.h
-share/wasi-sysroot/include/bits/socket.h
-share/wasi-sysroot/include/bits/stat.h
-share/wasi-sysroot/include/bits/stdint.h
-share/wasi-sysroot/include/byteswap.h
-share/wasi-sysroot/include/complex.h
-share/wasi-sysroot/include/cpio.h
-share/wasi-sysroot/include/crypt.h
-share/wasi-sysroot/include/ctype.h
-share/wasi-sysroot/include/dirent.h
-share/wasi-sysroot/include/dlfcn.h
-share/wasi-sysroot/include/endian.h
-share/wasi-sysroot/include/err.h
-share/wasi-sysroot/include/errno.h
-share/wasi-sysroot/include/fcntl.h
-share/wasi-sysroot/include/features.h
-share/wasi-sysroot/include/fenv.h
-share/wasi-sysroot/include/float.h
-share/wasi-sysroot/include/fmtmsg.h
-share/wasi-sysroot/include/fnmatch.h
-share/wasi-sysroot/include/ftw.h
-share/wasi-sysroot/include/getopt.h
-share/wasi-sysroot/include/glob.h
-share/wasi-sysroot/include/iconv.h
-share/wasi-sysroot/include/ifaddrs.h
-share/wasi-sysroot/include/inttypes.h
-share/wasi-sysroot/include/iso646.h
-share/wasi-sysroot/include/langinfo.h
-share/wasi-sysroot/include/libgen.h
-share/wasi-sysroot/include/limits.h
-share/wasi-sysroot/include/locale.h
-share/wasi-sysroot/include/malloc.h
-share/wasi-sysroot/include/math.h
-share/wasi-sysroot/include/memory.h
-share/wasi-sysroot/include/monetary.h
-share/wasi-sysroot/include/mqueue.h
-share/wasi-sysroot/include/netinet/icmp6.h
-share/wasi-sysroot/include/netinet/igmp.h
-share/wasi-sysroot/include/netinet/in.h
-share/wasi-sysroot/include/netinet/in_systm.h
-share/wasi-sysroot/include/netinet/ip.h
-share/wasi-sysroot/include/netinet/ip6.h
-share/wasi-sysroot/include/netinet/ip_icmp.h
-share/wasi-sysroot/include/netinet/tcp.h
-share/wasi-sysroot/include/netinet/udp.h
-share/wasi-sysroot/include/netpacket/packet.h
-share/wasi-sysroot/include/nl_types.h
-share/wasi-sysroot/include/poll.h
-share/wasi-sysroot/include/regex.h
-share/wasi-sysroot/include/sched.h
-share/wasi-sysroot/include/search.h
-share/wasi-sysroot/include/semaphore.h
-share/wasi-sysroot/include/signal.h
-share/wasi-sysroot/include/stdalign.h
-share/wasi-sysroot/include/stdarg.h
-share/wasi-sysroot/include/stdbool.h
-share/wasi-sysroot/include/stdc-predef.h
-share/wasi-sysroot/include/stddef.h
-share/wasi-sysroot/include/stdint.h
-share/wasi-sysroot/include/stdio.h
-share/wasi-sysroot/include/stdio_ext.h
-share/wasi-sysroot/include/stdlib.h
-share/wasi-sysroot/include/stdnoreturn.h
-share/wasi-sysroot/include/string.h
-share/wasi-sysroot/include/strings.h
-share/wasi-sysroot/include/stropts.h
-share/wasi-sysroot/include/sys/dir.h
-share/wasi-sysroot/include/sys/errno.h
-share/wasi-sysroot/include/sys/eventfd.h
-share/wasi-sysroot/include/sys/fcntl.h
-share/wasi-sysroot/include/sys/file.h
-share/wasi-sysroot/include/sys/ioctl.h
-share/wasi-sysroot/include/sys/mman.h
-share/wasi-sysroot/include/sys/param.h
-share/wasi-sysroot/include/sys/poll.h
-share/wasi-sysroot/include/sys/random.h
-share/wasi-sysroot/include/sys/reg.h
-share/wasi-sysroot/include/sys/resource.h
-share/wasi-sysroot/include/sys/select.h
-share/wasi-sysroot/include/sys/signal.h
-share/wasi-sysroot/include/sys/socket.h
-share/wasi-sysroot/include/sys/stat.h
-share/wasi-sysroot/include/sys/stropts.h
-share/wasi-sysroot/include/sys/syscall.h
-share/wasi-sysroot/include/sys/sysinfo.h
-share/wasi-sysroot/include/sys/time.h
-share/wasi-sysroot/include/sys/timeb.h
-share/wasi-sysroot/include/sys/times.h
-share/wasi-sysroot/include/sys/timex.h
-share/wasi-sysroot/include/sys/ttydefaults.h
-share/wasi-sysroot/include/sys/types.h
-share/wasi-sysroot/include/sys/uio.h
-share/wasi-sysroot/include/sys/un.h
-share/wasi-sysroot/include/sys/utsname.h
-share/wasi-sysroot/include/syscall.h
-share/wasi-sysroot/include/sysexits.h
-share/wasi-sysroot/include/tar.h
-share/wasi-sysroot/include/tgmath.h
-share/wasi-sysroot/include/threads.h
-share/wasi-sysroot/include/time.h
-share/wasi-sysroot/include/uchar.h
-share/wasi-sysroot/include/unistd.h
-share/wasi-sysroot/include/utime.h
-share/wasi-sysroot/include/values.h
-share/wasi-sysroot/include/wasi/api.h
-share/wasi-sysroot/include/wasi/libc-environ.h
-share/wasi-sysroot/include/wasi/libc-find-relpath.h
-share/wasi-sysroot/include/wasi/libc-nocwd.h
-share/wasi-sysroot/include/wasi/libc.h
-share/wasi-sysroot/include/wchar.h
-share/wasi-sysroot/include/wctype.h
-share/wasi-sysroot/lib/wasm32-wasi/crt1-command.o
-share/wasi-sysroot/lib/wasm32-wasi/crt1-reactor.o
-share/wasi-sysroot/lib/wasm32-wasi/crt1.o
-share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-long-double.a
-share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-no-floating-point.a
-share/wasi-sysroot/lib/wasm32-wasi/libc.a
-share/wasi-sysroot/lib/wasm32-wasi/libc.imports
-share/wasi-sysroot/lib/wasm32-wasi/libcrypt.a
-share/wasi-sysroot/lib/wasm32-wasi/libdl.a
-share/wasi-sysroot/lib/wasm32-wasi/libm.a
-share/wasi-sysroot/lib/wasm32-wasi/libpthread.a
-share/wasi-sysroot/lib/wasm32-wasi/libresolv.a
-share/wasi-sysroot/lib/wasm32-wasi/librt.a
-share/wasi-sysroot/lib/wasm32-wasi/libutil.a
-share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-getpid.a
-share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-mman.a
-share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
-share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-signal.a
-share/wasi-sysroot/lib/wasm32-wasi/libxnet.a
-share/wasi-sysroot/share/wasm32-wasi/defined-symbols.txt
-share/wasi-sysroot/share/wasm32-wasi/include-all.c
-share/wasi-sysroot/share/wasm32-wasi/predefined-macros.txt
-share/wasi-sysroot/share/wasm32-wasi/undefined-symbols.txt
-@dir share/wasi-sysroot/include/net
-@dir share/wasi-sysroot/include/scsi
diff --git a/devel/wasi-libc/pkg-plist17 b/devel/wasi-libc/pkg-plist17
new file mode 100644
index 000000000000..3081c285f23d
--- /dev/null
+++ b/devel/wasi-libc/pkg-plist17
@@ -0,0 +1,233 @@
+share/wasi-sysroot/include/__stddef_max_align_t.h
+share/wasi-sysroot/include/stdarg.h
+share/wasi-sysroot/include/stddef.h
+share/wasi-sysroot/include/wasm32-wasi/__errno.h
+share/wasi-sysroot/include/wasm32-wasi/__errno_values.h
+share/wasi-sysroot/include/wasm32-wasi/__fd_set.h
+share/wasi-sysroot/include/wasm32-wasi/__function___isatty.h
+share/wasi-sysroot/include/wasm32-wasi/__functions_malloc.h
+share/wasi-sysroot/include/wasm32-wasi/__functions_memcpy.h
+share/wasi-sysroot/include/wasm32-wasi/__header_dirent.h
+share/wasi-sysroot/include/wasm32-wasi/__header_fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/__header_inttypes.h
+share/wasi-sysroot/include/wasm32-wasi/__header_netinet_in.h
+share/wasi-sysroot/include/wasm32-wasi/__header_poll.h
+share/wasi-sysroot/include/wasm32-wasi/__header_stdlib.h
+share/wasi-sysroot/include/wasm32-wasi/__header_string.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_resource.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_socket.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_stat.h
+share/wasi-sysroot/include/wasm32-wasi/__header_time.h
+share/wasi-sysroot/include/wasm32-wasi/__header_unistd.h
+share/wasi-sysroot/include/wasm32-wasi/__macro_FD_SETSIZE.h
+share/wasi-sysroot/include/wasm32-wasi/__macro_PAGESIZE.h
+share/wasi-sysroot/include/wasm32-wasi/__mode_t.h
+share/wasi-sysroot/include/wasm32-wasi/__seek.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_dirent.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_in6_addr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_in_addr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_iovec.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_msghdr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_pollfd.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_rusage.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in6.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_storage.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_un.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_stat.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_timespec.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_timeval.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_tm.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_tms.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_DIR.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_blkcnt_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_blksize_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_clock_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_clockid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_dev_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_fd_set.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_gid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_in_addr_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_in_port_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_ino_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_mode_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_nfds_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_nlink_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_off_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_sa_family_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_sigset_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_socklen_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_ssize_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_suseconds_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_time_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_uid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__wasi_snapshot.h
+share/wasi-sysroot/include/wasm32-wasi/alloca.h
+share/wasi-sysroot/include/wasm32-wasi/ar.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/ftp.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/inet.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/nameser.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/nameser_compat.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/telnet.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/tftp.h
+share/wasi-sysroot/include/wasm32-wasi/assert.h
+share/wasi-sysroot/include/wasm32-wasi/bits/alltypes.h
+share/wasi-sysroot/include/wasm32-wasi/bits/dirent.h
+share/wasi-sysroot/include/wasm32-wasi/bits/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/bits/fenv.h
+share/wasi-sysroot/include/wasm32-wasi/bits/float.h
+share/wasi-sysroot/include/wasm32-wasi/bits/hwcap.h
+share/wasi-sysroot/include/wasm32-wasi/bits/io.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ioctl_fix.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ipcstat.h
+share/wasi-sysroot/include/wasm32-wasi/bits/limits.h
+share/wasi-sysroot/include/wasm32-wasi/bits/mman.h
+share/wasi-sysroot/include/wasm32-wasi/bits/poll.h
+share/wasi-sysroot/include/wasm32-wasi/bits/posix.h
+share/wasi-sysroot/include/wasm32-wasi/bits/reg.h
+share/wasi-sysroot/include/wasm32-wasi/bits/resource.h
+share/wasi-sysroot/include/wasm32-wasi/bits/setjmp.h
+share/wasi-sysroot/include/wasm32-wasi/bits/signal.h
+share/wasi-sysroot/include/wasm32-wasi/bits/socket.h
+share/wasi-sysroot/include/wasm32-wasi/bits/stat.h
+share/wasi-sysroot/include/wasm32-wasi/bits/stdint.h
+share/wasi-sysroot/include/wasm32-wasi/byteswap.h
+share/wasi-sysroot/include/wasm32-wasi/complex.h
+share/wasi-sysroot/include/wasm32-wasi/cpio.h
+share/wasi-sysroot/include/wasm32-wasi/crypt.h
+share/wasi-sysroot/include/wasm32-wasi/ctype.h
+share/wasi-sysroot/include/wasm32-wasi/dirent.h
+share/wasi-sysroot/include/wasm32-wasi/dlfcn.h
+share/wasi-sysroot/include/wasm32-wasi/endian.h
+share/wasi-sysroot/include/wasm32-wasi/err.h
+share/wasi-sysroot/include/wasm32-wasi/errno.h
+share/wasi-sysroot/include/wasm32-wasi/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/features.h
+share/wasi-sysroot/include/wasm32-wasi/fenv.h
+share/wasi-sysroot/include/wasm32-wasi/float.h
+share/wasi-sysroot/include/wasm32-wasi/fmtmsg.h
+share/wasi-sysroot/include/wasm32-wasi/fnmatch.h
+share/wasi-sysroot/include/wasm32-wasi/fts.h
+share/wasi-sysroot/include/wasm32-wasi/ftw.h
+share/wasi-sysroot/include/wasm32-wasi/getopt.h
+share/wasi-sysroot/include/wasm32-wasi/glob.h
+share/wasi-sysroot/include/wasm32-wasi/iconv.h
+share/wasi-sysroot/include/wasm32-wasi/ifaddrs.h
+share/wasi-sysroot/include/wasm32-wasi/inttypes.h
+share/wasi-sysroot/include/wasm32-wasi/iso646.h
+share/wasi-sysroot/include/wasm32-wasi/langinfo.h
+share/wasi-sysroot/include/wasm32-wasi/libgen.h
+share/wasi-sysroot/include/wasm32-wasi/limits.h
+share/wasi-sysroot/include/wasm32-wasi/locale.h
+share/wasi-sysroot/include/wasm32-wasi/malloc.h
+share/wasi-sysroot/include/wasm32-wasi/math.h
+share/wasi-sysroot/include/wasm32-wasi/memory.h
+share/wasi-sysroot/include/wasm32-wasi/monetary.h
+share/wasi-sysroot/include/wasm32-wasi/mqueue.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/icmp6.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/igmp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/in.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/in_systm.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip6.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip_icmp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/tcp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/udp.h
+share/wasi-sysroot/include/wasm32-wasi/netpacket/packet.h
+share/wasi-sysroot/include/wasm32-wasi/nl_types.h
+share/wasi-sysroot/include/wasm32-wasi/poll.h
+share/wasi-sysroot/include/wasm32-wasi/pthread.h
+share/wasi-sysroot/include/wasm32-wasi/regex.h
+share/wasi-sysroot/include/wasm32-wasi/sched.h
+share/wasi-sysroot/include/wasm32-wasi/search.h
+share/wasi-sysroot/include/wasm32-wasi/semaphore.h
+share/wasi-sysroot/include/wasm32-wasi/setjmp.h
+share/wasi-sysroot/include/wasm32-wasi/signal.h
+share/wasi-sysroot/include/wasm32-wasi/stdalign.h
+share/wasi-sysroot/include/wasm32-wasi/stdbool.h
+share/wasi-sysroot/include/wasm32-wasi/stdc-predef.h
+share/wasi-sysroot/include/wasm32-wasi/stdint.h
+share/wasi-sysroot/include/wasm32-wasi/stdio.h
+share/wasi-sysroot/include/wasm32-wasi/stdio_ext.h
+share/wasi-sysroot/include/wasm32-wasi/stdlib.h
+share/wasi-sysroot/include/wasm32-wasi/stdnoreturn.h
+share/wasi-sysroot/include/wasm32-wasi/string.h
+share/wasi-sysroot/include/wasm32-wasi/strings.h
+share/wasi-sysroot/include/wasm32-wasi/stropts.h
+share/wasi-sysroot/include/wasm32-wasi/sys/dir.h
+share/wasi-sysroot/include/wasm32-wasi/sys/errno.h
+share/wasi-sysroot/include/wasm32-wasi/sys/eventfd.h
+share/wasi-sysroot/include/wasm32-wasi/sys/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/sys/file.h
+share/wasi-sysroot/include/wasm32-wasi/sys/ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/sys/mman.h
+share/wasi-sysroot/include/wasm32-wasi/sys/param.h
+share/wasi-sysroot/include/wasm32-wasi/sys/poll.h
+share/wasi-sysroot/include/wasm32-wasi/sys/random.h
+share/wasi-sysroot/include/wasm32-wasi/sys/reg.h
+share/wasi-sysroot/include/wasm32-wasi/sys/resource.h
+share/wasi-sysroot/include/wasm32-wasi/sys/select.h
+share/wasi-sysroot/include/wasm32-wasi/sys/signal.h
+share/wasi-sysroot/include/wasm32-wasi/sys/socket.h
+share/wasi-sysroot/include/wasm32-wasi/sys/stat.h
+share/wasi-sysroot/include/wasm32-wasi/sys/statvfs.h
+share/wasi-sysroot/include/wasm32-wasi/sys/stropts.h
+share/wasi-sysroot/include/wasm32-wasi/sys/syscall.h
+share/wasi-sysroot/include/wasm32-wasi/sys/sysinfo.h
+share/wasi-sysroot/include/wasm32-wasi/sys/time.h
+share/wasi-sysroot/include/wasm32-wasi/sys/timeb.h
+share/wasi-sysroot/include/wasm32-wasi/sys/times.h
+share/wasi-sysroot/include/wasm32-wasi/sys/timex.h
+share/wasi-sysroot/include/wasm32-wasi/sys/ttydefaults.h
+share/wasi-sysroot/include/wasm32-wasi/sys/types.h
+share/wasi-sysroot/include/wasm32-wasi/sys/uio.h
+share/wasi-sysroot/include/wasm32-wasi/sys/un.h
+share/wasi-sysroot/include/wasm32-wasi/sys/utsname.h
+share/wasi-sysroot/include/wasm32-wasi/syscall.h
+share/wasi-sysroot/include/wasm32-wasi/sysexits.h
+share/wasi-sysroot/include/wasm32-wasi/tar.h
+share/wasi-sysroot/include/wasm32-wasi/tgmath.h
+share/wasi-sysroot/include/wasm32-wasi/threads.h
+share/wasi-sysroot/include/wasm32-wasi/time.h
+share/wasi-sysroot/include/wasm32-wasi/uchar.h
+share/wasi-sysroot/include/wasm32-wasi/unistd.h
+share/wasi-sysroot/include/wasm32-wasi/utime.h
+share/wasi-sysroot/include/wasm32-wasi/values.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/api.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-environ.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-find-relpath.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-nocwd.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/wasip2.h
+share/wasi-sysroot/include/wasm32-wasi/wchar.h
+share/wasi-sysroot/include/wasm32-wasi/wctype.h
+share/wasi-sysroot/lib/wasm32-wasi/crt1-command.o
+share/wasi-sysroot/lib/wasm32-wasi/crt1-reactor.o
+share/wasi-sysroot/lib/wasm32-wasi/crt1.o
+share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-long-double.a
+share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-no-floating-point.a
+share/wasi-sysroot/lib/wasm32-wasi/libc.a
+share/wasi-sysroot/lib/wasm32-wasi/libc.imports
+share/wasi-sysroot/lib/wasm32-wasi/libcrypt.a
+share/wasi-sysroot/lib/wasm32-wasi/libdl.a
+share/wasi-sysroot/lib/wasm32-wasi/libm.a
+share/wasi-sysroot/lib/wasm32-wasi/libpthread.a
+share/wasi-sysroot/lib/wasm32-wasi/libresolv.a
+share/wasi-sysroot/lib/wasm32-wasi/librt.a
+share/wasi-sysroot/lib/wasm32-wasi/libsetjmp.a
+share/wasi-sysroot/lib/wasm32-wasi/libutil.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-getpid.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-mman.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-pthread.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-signal.a
+share/wasi-sysroot/lib/wasm32-wasi/libxnet.a
+share/wasi-sysroot/share/wasm32-wasi/defined-symbols.txt
+share/wasi-sysroot/share/wasm32-wasi/include-all.c
+share/wasi-sysroot/share/wasm32-wasi/predefined-macros.txt
+share/wasi-sysroot/share/wasm32-wasi/undefined-symbols.txt
+@dir share/wasi-sysroot/include/wasm32-wasi/net
+@dir share/wasi-sysroot/include/wasm32-wasi/scsi
diff --git a/devel/wasi-libc/pkg-plist18 b/devel/wasi-libc/pkg-plist18
new file mode 100644
index 000000000000..de08ff484d88
--- /dev/null
+++ b/devel/wasi-libc/pkg-plist18
@@ -0,0 +1,247 @@
+share/wasi-sysroot/include/__stdarg___gnuc_va_list.h
+share/wasi-sysroot/include/__stdarg___va_copy.h
+share/wasi-sysroot/include/__stdarg_va_arg.h
+share/wasi-sysroot/include/__stdarg_va_copy.h
+share/wasi-sysroot/include/__stdarg_va_list.h
+share/wasi-sysroot/include/__stddef_max_align_t.h
+share/wasi-sysroot/include/__stddef_null.h
+share/wasi-sysroot/include/__stddef_nullptr_t.h
+share/wasi-sysroot/include/__stddef_offsetof.h
+share/wasi-sysroot/include/__stddef_ptrdiff_t.h
+share/wasi-sysroot/include/__stddef_rsize_t.h
+share/wasi-sysroot/include/__stddef_size_t.h
+share/wasi-sysroot/include/__stddef_unreachable.h
+share/wasi-sysroot/include/__stddef_wchar_t.h
+share/wasi-sysroot/include/__stddef_wint_t.h
+share/wasi-sysroot/include/stdarg.h
+share/wasi-sysroot/include/stddef.h
+share/wasi-sysroot/include/wasm32-wasi/__errno.h
+share/wasi-sysroot/include/wasm32-wasi/__errno_values.h
+share/wasi-sysroot/include/wasm32-wasi/__fd_set.h
+share/wasi-sysroot/include/wasm32-wasi/__function___isatty.h
+share/wasi-sysroot/include/wasm32-wasi/__functions_malloc.h
+share/wasi-sysroot/include/wasm32-wasi/__functions_memcpy.h
+share/wasi-sysroot/include/wasm32-wasi/__header_dirent.h
+share/wasi-sysroot/include/wasm32-wasi/__header_fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/__header_inttypes.h
+share/wasi-sysroot/include/wasm32-wasi/__header_netinet_in.h
+share/wasi-sysroot/include/wasm32-wasi/__header_poll.h
+share/wasi-sysroot/include/wasm32-wasi/__header_stdlib.h
+share/wasi-sysroot/include/wasm32-wasi/__header_string.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_resource.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_socket.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_stat.h
+share/wasi-sysroot/include/wasm32-wasi/__header_time.h
+share/wasi-sysroot/include/wasm32-wasi/__header_unistd.h
+share/wasi-sysroot/include/wasm32-wasi/__macro_FD_SETSIZE.h
+share/wasi-sysroot/include/wasm32-wasi/__macro_PAGESIZE.h
+share/wasi-sysroot/include/wasm32-wasi/__mode_t.h
+share/wasi-sysroot/include/wasm32-wasi/__seek.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_dirent.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_in6_addr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_in_addr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_iovec.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_msghdr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_pollfd.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_rusage.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in6.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_storage.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_un.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_stat.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_timespec.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_timeval.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_tm.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_tms.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_DIR.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_blkcnt_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_blksize_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_clock_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_clockid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_dev_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_fd_set.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_gid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_in_addr_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_in_port_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_ino_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_mode_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_nfds_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_nlink_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_off_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_sa_family_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_sigset_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_socklen_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_ssize_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_suseconds_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_time_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_uid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__wasi_snapshot.h
+share/wasi-sysroot/include/wasm32-wasi/alloca.h
+share/wasi-sysroot/include/wasm32-wasi/ar.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/ftp.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/inet.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/nameser.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/nameser_compat.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/telnet.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/tftp.h
+share/wasi-sysroot/include/wasm32-wasi/assert.h
+share/wasi-sysroot/include/wasm32-wasi/bits/alltypes.h
+share/wasi-sysroot/include/wasm32-wasi/bits/dirent.h
+share/wasi-sysroot/include/wasm32-wasi/bits/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/bits/fenv.h
+share/wasi-sysroot/include/wasm32-wasi/bits/float.h
+share/wasi-sysroot/include/wasm32-wasi/bits/hwcap.h
+share/wasi-sysroot/include/wasm32-wasi/bits/io.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ioctl_fix.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ipcstat.h
+share/wasi-sysroot/include/wasm32-wasi/bits/limits.h
+share/wasi-sysroot/include/wasm32-wasi/bits/mman.h
+share/wasi-sysroot/include/wasm32-wasi/bits/poll.h
+share/wasi-sysroot/include/wasm32-wasi/bits/posix.h
+share/wasi-sysroot/include/wasm32-wasi/bits/reg.h
+share/wasi-sysroot/include/wasm32-wasi/bits/resource.h
+share/wasi-sysroot/include/wasm32-wasi/bits/setjmp.h
+share/wasi-sysroot/include/wasm32-wasi/bits/signal.h
+share/wasi-sysroot/include/wasm32-wasi/bits/socket.h
+share/wasi-sysroot/include/wasm32-wasi/bits/stat.h
+share/wasi-sysroot/include/wasm32-wasi/bits/stdint.h
+share/wasi-sysroot/include/wasm32-wasi/byteswap.h
+share/wasi-sysroot/include/wasm32-wasi/complex.h
+share/wasi-sysroot/include/wasm32-wasi/cpio.h
+share/wasi-sysroot/include/wasm32-wasi/crypt.h
+share/wasi-sysroot/include/wasm32-wasi/ctype.h
+share/wasi-sysroot/include/wasm32-wasi/dirent.h
+share/wasi-sysroot/include/wasm32-wasi/dlfcn.h
+share/wasi-sysroot/include/wasm32-wasi/endian.h
+share/wasi-sysroot/include/wasm32-wasi/err.h
+share/wasi-sysroot/include/wasm32-wasi/errno.h
+share/wasi-sysroot/include/wasm32-wasi/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/features.h
+share/wasi-sysroot/include/wasm32-wasi/fenv.h
+share/wasi-sysroot/include/wasm32-wasi/float.h
+share/wasi-sysroot/include/wasm32-wasi/fmtmsg.h
+share/wasi-sysroot/include/wasm32-wasi/fnmatch.h
+share/wasi-sysroot/include/wasm32-wasi/fts.h
+share/wasi-sysroot/include/wasm32-wasi/ftw.h
+share/wasi-sysroot/include/wasm32-wasi/getopt.h
+share/wasi-sysroot/include/wasm32-wasi/glob.h
+share/wasi-sysroot/include/wasm32-wasi/iconv.h
+share/wasi-sysroot/include/wasm32-wasi/ifaddrs.h
+share/wasi-sysroot/include/wasm32-wasi/inttypes.h
+share/wasi-sysroot/include/wasm32-wasi/iso646.h
+share/wasi-sysroot/include/wasm32-wasi/langinfo.h
+share/wasi-sysroot/include/wasm32-wasi/libgen.h
+share/wasi-sysroot/include/wasm32-wasi/limits.h
+share/wasi-sysroot/include/wasm32-wasi/locale.h
+share/wasi-sysroot/include/wasm32-wasi/malloc.h
+share/wasi-sysroot/include/wasm32-wasi/math.h
+share/wasi-sysroot/include/wasm32-wasi/memory.h
+share/wasi-sysroot/include/wasm32-wasi/monetary.h
+share/wasi-sysroot/include/wasm32-wasi/mqueue.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/icmp6.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/igmp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/in.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/in_systm.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip6.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip_icmp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/tcp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/udp.h
+share/wasi-sysroot/include/wasm32-wasi/netpacket/packet.h
+share/wasi-sysroot/include/wasm32-wasi/nl_types.h
+share/wasi-sysroot/include/wasm32-wasi/poll.h
+share/wasi-sysroot/include/wasm32-wasi/pthread.h
+share/wasi-sysroot/include/wasm32-wasi/regex.h
+share/wasi-sysroot/include/wasm32-wasi/sched.h
+share/wasi-sysroot/include/wasm32-wasi/search.h
+share/wasi-sysroot/include/wasm32-wasi/semaphore.h
+share/wasi-sysroot/include/wasm32-wasi/setjmp.h
+share/wasi-sysroot/include/wasm32-wasi/signal.h
+share/wasi-sysroot/include/wasm32-wasi/stdalign.h
+share/wasi-sysroot/include/wasm32-wasi/stdbool.h
+share/wasi-sysroot/include/wasm32-wasi/stdc-predef.h
+share/wasi-sysroot/include/wasm32-wasi/stdint.h
+share/wasi-sysroot/include/wasm32-wasi/stdio.h
+share/wasi-sysroot/include/wasm32-wasi/stdio_ext.h
+share/wasi-sysroot/include/wasm32-wasi/stdlib.h
+share/wasi-sysroot/include/wasm32-wasi/stdnoreturn.h
+share/wasi-sysroot/include/wasm32-wasi/string.h
+share/wasi-sysroot/include/wasm32-wasi/strings.h
+share/wasi-sysroot/include/wasm32-wasi/stropts.h
+share/wasi-sysroot/include/wasm32-wasi/sys/dir.h
+share/wasi-sysroot/include/wasm32-wasi/sys/errno.h
+share/wasi-sysroot/include/wasm32-wasi/sys/eventfd.h
+share/wasi-sysroot/include/wasm32-wasi/sys/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/sys/file.h
+share/wasi-sysroot/include/wasm32-wasi/sys/ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/sys/mman.h
+share/wasi-sysroot/include/wasm32-wasi/sys/param.h
+share/wasi-sysroot/include/wasm32-wasi/sys/poll.h
+share/wasi-sysroot/include/wasm32-wasi/sys/random.h
+share/wasi-sysroot/include/wasm32-wasi/sys/reg.h
+share/wasi-sysroot/include/wasm32-wasi/sys/resource.h
+share/wasi-sysroot/include/wasm32-wasi/sys/select.h
+share/wasi-sysroot/include/wasm32-wasi/sys/signal.h
+share/wasi-sysroot/include/wasm32-wasi/sys/socket.h
+share/wasi-sysroot/include/wasm32-wasi/sys/stat.h
+share/wasi-sysroot/include/wasm32-wasi/sys/statvfs.h
+share/wasi-sysroot/include/wasm32-wasi/sys/stropts.h
+share/wasi-sysroot/include/wasm32-wasi/sys/syscall.h
+share/wasi-sysroot/include/wasm32-wasi/sys/sysinfo.h
+share/wasi-sysroot/include/wasm32-wasi/sys/time.h
+share/wasi-sysroot/include/wasm32-wasi/sys/timeb.h
+share/wasi-sysroot/include/wasm32-wasi/sys/times.h
+share/wasi-sysroot/include/wasm32-wasi/sys/timex.h
+share/wasi-sysroot/include/wasm32-wasi/sys/ttydefaults.h
+share/wasi-sysroot/include/wasm32-wasi/sys/types.h
+share/wasi-sysroot/include/wasm32-wasi/sys/uio.h
+share/wasi-sysroot/include/wasm32-wasi/sys/un.h
+share/wasi-sysroot/include/wasm32-wasi/sys/utsname.h
+share/wasi-sysroot/include/wasm32-wasi/syscall.h
+share/wasi-sysroot/include/wasm32-wasi/sysexits.h
+share/wasi-sysroot/include/wasm32-wasi/tar.h
+share/wasi-sysroot/include/wasm32-wasi/tgmath.h
+share/wasi-sysroot/include/wasm32-wasi/threads.h
+share/wasi-sysroot/include/wasm32-wasi/time.h
+share/wasi-sysroot/include/wasm32-wasi/uchar.h
+share/wasi-sysroot/include/wasm32-wasi/unistd.h
+share/wasi-sysroot/include/wasm32-wasi/utime.h
+share/wasi-sysroot/include/wasm32-wasi/values.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/api.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-environ.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-find-relpath.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-nocwd.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/wasip2.h
+share/wasi-sysroot/include/wasm32-wasi/wchar.h
+share/wasi-sysroot/include/wasm32-wasi/wctype.h
+share/wasi-sysroot/lib/wasm32-wasi/crt1-command.o
+share/wasi-sysroot/lib/wasm32-wasi/crt1-reactor.o
+share/wasi-sysroot/lib/wasm32-wasi/crt1.o
+share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-long-double.a
+share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-no-floating-point.a
+share/wasi-sysroot/lib/wasm32-wasi/libc.a
+share/wasi-sysroot/lib/wasm32-wasi/libc.imports
+share/wasi-sysroot/lib/wasm32-wasi/libcrypt.a
+share/wasi-sysroot/lib/wasm32-wasi/libdl.a
+share/wasi-sysroot/lib/wasm32-wasi/libm.a
+share/wasi-sysroot/lib/wasm32-wasi/libpthread.a
+share/wasi-sysroot/lib/wasm32-wasi/libresolv.a
+share/wasi-sysroot/lib/wasm32-wasi/librt.a
+share/wasi-sysroot/lib/wasm32-wasi/libsetjmp.a
+share/wasi-sysroot/lib/wasm32-wasi/libutil.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-getpid.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-mman.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-pthread.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-signal.a
+share/wasi-sysroot/lib/wasm32-wasi/libxnet.a
+share/wasi-sysroot/share/wasm32-wasi/defined-symbols.txt
+share/wasi-sysroot/share/wasm32-wasi/include-all.c
+share/wasi-sysroot/share/wasm32-wasi/predefined-macros.txt
+share/wasi-sysroot/share/wasm32-wasi/undefined-symbols.txt
+@dir share/wasi-sysroot/include/wasm32-wasi/net
+@dir share/wasi-sysroot/include/wasm32-wasi/scsi
diff --git a/devel/wasi-libc/pkg-plist19 b/devel/wasi-libc/pkg-plist19
new file mode 100644
index 000000000000..f0b2808b051d
--- /dev/null
+++ b/devel/wasi-libc/pkg-plist19
@@ -0,0 +1,249 @@
+share/wasi-sysroot/include/__stdarg___gnuc_va_list.h
+share/wasi-sysroot/include/__stdarg___va_copy.h
+share/wasi-sysroot/include/__stdarg_header_macro.h
+share/wasi-sysroot/include/__stdarg_va_arg.h
+share/wasi-sysroot/include/__stdarg_va_copy.h
+share/wasi-sysroot/include/__stdarg_va_list.h
+share/wasi-sysroot/include/__stddef_header_macro.h
+share/wasi-sysroot/include/__stddef_max_align_t.h
+share/wasi-sysroot/include/__stddef_null.h
+share/wasi-sysroot/include/__stddef_nullptr_t.h
+share/wasi-sysroot/include/__stddef_offsetof.h
+share/wasi-sysroot/include/__stddef_ptrdiff_t.h
+share/wasi-sysroot/include/__stddef_rsize_t.h
+share/wasi-sysroot/include/__stddef_size_t.h
+share/wasi-sysroot/include/__stddef_unreachable.h
+share/wasi-sysroot/include/__stddef_wchar_t.h
+share/wasi-sysroot/include/__stddef_wint_t.h
+share/wasi-sysroot/include/stdarg.h
+share/wasi-sysroot/include/stddef.h
+share/wasi-sysroot/include/wasm32-wasi/__errno.h
+share/wasi-sysroot/include/wasm32-wasi/__errno_values.h
+share/wasi-sysroot/include/wasm32-wasi/__fd_set.h
+share/wasi-sysroot/include/wasm32-wasi/__function___isatty.h
+share/wasi-sysroot/include/wasm32-wasi/__functions_malloc.h
+share/wasi-sysroot/include/wasm32-wasi/__functions_memcpy.h
+share/wasi-sysroot/include/wasm32-wasi/__header_dirent.h
+share/wasi-sysroot/include/wasm32-wasi/__header_fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/__header_inttypes.h
+share/wasi-sysroot/include/wasm32-wasi/__header_netinet_in.h
+share/wasi-sysroot/include/wasm32-wasi/__header_poll.h
+share/wasi-sysroot/include/wasm32-wasi/__header_stdlib.h
+share/wasi-sysroot/include/wasm32-wasi/__header_string.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_resource.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_socket.h
+share/wasi-sysroot/include/wasm32-wasi/__header_sys_stat.h
+share/wasi-sysroot/include/wasm32-wasi/__header_time.h
+share/wasi-sysroot/include/wasm32-wasi/__header_unistd.h
+share/wasi-sysroot/include/wasm32-wasi/__macro_FD_SETSIZE.h
+share/wasi-sysroot/include/wasm32-wasi/__macro_PAGESIZE.h
+share/wasi-sysroot/include/wasm32-wasi/__mode_t.h
+share/wasi-sysroot/include/wasm32-wasi/__seek.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_dirent.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_in6_addr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_in_addr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_iovec.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_msghdr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_pollfd.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_rusage.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_in6.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_storage.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_sockaddr_un.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_stat.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_timespec.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_timeval.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_tm.h
+share/wasi-sysroot/include/wasm32-wasi/__struct_tms.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_DIR.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_blkcnt_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_blksize_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_clock_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_clockid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_dev_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_fd_set.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_gid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_in_addr_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_in_port_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_ino_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_mode_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_nfds_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_nlink_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_off_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_sa_family_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_sigset_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_socklen_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_ssize_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_suseconds_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_time_t.h
+share/wasi-sysroot/include/wasm32-wasi/__typedef_uid_t.h
+share/wasi-sysroot/include/wasm32-wasi/__wasi_snapshot.h
+share/wasi-sysroot/include/wasm32-wasi/alloca.h
+share/wasi-sysroot/include/wasm32-wasi/ar.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/ftp.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/inet.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/nameser.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/nameser_compat.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/telnet.h
+share/wasi-sysroot/include/wasm32-wasi/arpa/tftp.h
+share/wasi-sysroot/include/wasm32-wasi/assert.h
+share/wasi-sysroot/include/wasm32-wasi/bits/alltypes.h
+share/wasi-sysroot/include/wasm32-wasi/bits/dirent.h
+share/wasi-sysroot/include/wasm32-wasi/bits/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/bits/fenv.h
+share/wasi-sysroot/include/wasm32-wasi/bits/float.h
+share/wasi-sysroot/include/wasm32-wasi/bits/hwcap.h
+share/wasi-sysroot/include/wasm32-wasi/bits/io.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ioctl_fix.h
+share/wasi-sysroot/include/wasm32-wasi/bits/ipcstat.h
+share/wasi-sysroot/include/wasm32-wasi/bits/limits.h
+share/wasi-sysroot/include/wasm32-wasi/bits/mman.h
+share/wasi-sysroot/include/wasm32-wasi/bits/poll.h
+share/wasi-sysroot/include/wasm32-wasi/bits/posix.h
+share/wasi-sysroot/include/wasm32-wasi/bits/reg.h
+share/wasi-sysroot/include/wasm32-wasi/bits/resource.h
+share/wasi-sysroot/include/wasm32-wasi/bits/setjmp.h
+share/wasi-sysroot/include/wasm32-wasi/bits/signal.h
+share/wasi-sysroot/include/wasm32-wasi/bits/socket.h
+share/wasi-sysroot/include/wasm32-wasi/bits/stat.h
+share/wasi-sysroot/include/wasm32-wasi/bits/stdint.h
+share/wasi-sysroot/include/wasm32-wasi/byteswap.h
+share/wasi-sysroot/include/wasm32-wasi/complex.h
+share/wasi-sysroot/include/wasm32-wasi/cpio.h
+share/wasi-sysroot/include/wasm32-wasi/crypt.h
+share/wasi-sysroot/include/wasm32-wasi/ctype.h
+share/wasi-sysroot/include/wasm32-wasi/dirent.h
+share/wasi-sysroot/include/wasm32-wasi/dlfcn.h
+share/wasi-sysroot/include/wasm32-wasi/endian.h
+share/wasi-sysroot/include/wasm32-wasi/err.h
+share/wasi-sysroot/include/wasm32-wasi/errno.h
+share/wasi-sysroot/include/wasm32-wasi/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/features.h
+share/wasi-sysroot/include/wasm32-wasi/fenv.h
+share/wasi-sysroot/include/wasm32-wasi/float.h
+share/wasi-sysroot/include/wasm32-wasi/fmtmsg.h
+share/wasi-sysroot/include/wasm32-wasi/fnmatch.h
+share/wasi-sysroot/include/wasm32-wasi/fts.h
+share/wasi-sysroot/include/wasm32-wasi/ftw.h
+share/wasi-sysroot/include/wasm32-wasi/getopt.h
+share/wasi-sysroot/include/wasm32-wasi/glob.h
+share/wasi-sysroot/include/wasm32-wasi/iconv.h
+share/wasi-sysroot/include/wasm32-wasi/ifaddrs.h
+share/wasi-sysroot/include/wasm32-wasi/inttypes.h
+share/wasi-sysroot/include/wasm32-wasi/iso646.h
+share/wasi-sysroot/include/wasm32-wasi/langinfo.h
+share/wasi-sysroot/include/wasm32-wasi/libgen.h
+share/wasi-sysroot/include/wasm32-wasi/limits.h
+share/wasi-sysroot/include/wasm32-wasi/locale.h
+share/wasi-sysroot/include/wasm32-wasi/malloc.h
+share/wasi-sysroot/include/wasm32-wasi/math.h
+share/wasi-sysroot/include/wasm32-wasi/memory.h
+share/wasi-sysroot/include/wasm32-wasi/monetary.h
+share/wasi-sysroot/include/wasm32-wasi/mqueue.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/icmp6.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/igmp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/in.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/in_systm.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip6.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/ip_icmp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/tcp.h
+share/wasi-sysroot/include/wasm32-wasi/netinet/udp.h
+share/wasi-sysroot/include/wasm32-wasi/netpacket/packet.h
+share/wasi-sysroot/include/wasm32-wasi/nl_types.h
+share/wasi-sysroot/include/wasm32-wasi/poll.h
+share/wasi-sysroot/include/wasm32-wasi/pthread.h
+share/wasi-sysroot/include/wasm32-wasi/regex.h
+share/wasi-sysroot/include/wasm32-wasi/sched.h
+share/wasi-sysroot/include/wasm32-wasi/search.h
+share/wasi-sysroot/include/wasm32-wasi/semaphore.h
+share/wasi-sysroot/include/wasm32-wasi/setjmp.h
+share/wasi-sysroot/include/wasm32-wasi/signal.h
+share/wasi-sysroot/include/wasm32-wasi/stdalign.h
+share/wasi-sysroot/include/wasm32-wasi/stdbool.h
+share/wasi-sysroot/include/wasm32-wasi/stdc-predef.h
+share/wasi-sysroot/include/wasm32-wasi/stdint.h
+share/wasi-sysroot/include/wasm32-wasi/stdio.h
+share/wasi-sysroot/include/wasm32-wasi/stdio_ext.h
+share/wasi-sysroot/include/wasm32-wasi/stdlib.h
+share/wasi-sysroot/include/wasm32-wasi/stdnoreturn.h
+share/wasi-sysroot/include/wasm32-wasi/string.h
+share/wasi-sysroot/include/wasm32-wasi/strings.h
+share/wasi-sysroot/include/wasm32-wasi/stropts.h
+share/wasi-sysroot/include/wasm32-wasi/sys/dir.h
+share/wasi-sysroot/include/wasm32-wasi/sys/errno.h
+share/wasi-sysroot/include/wasm32-wasi/sys/eventfd.h
+share/wasi-sysroot/include/wasm32-wasi/sys/fcntl.h
+share/wasi-sysroot/include/wasm32-wasi/sys/file.h
+share/wasi-sysroot/include/wasm32-wasi/sys/ioctl.h
+share/wasi-sysroot/include/wasm32-wasi/sys/mman.h
+share/wasi-sysroot/include/wasm32-wasi/sys/param.h
+share/wasi-sysroot/include/wasm32-wasi/sys/poll.h
+share/wasi-sysroot/include/wasm32-wasi/sys/random.h
+share/wasi-sysroot/include/wasm32-wasi/sys/reg.h
+share/wasi-sysroot/include/wasm32-wasi/sys/resource.h
+share/wasi-sysroot/include/wasm32-wasi/sys/select.h
+share/wasi-sysroot/include/wasm32-wasi/sys/signal.h
+share/wasi-sysroot/include/wasm32-wasi/sys/socket.h
+share/wasi-sysroot/include/wasm32-wasi/sys/stat.h
+share/wasi-sysroot/include/wasm32-wasi/sys/statvfs.h
+share/wasi-sysroot/include/wasm32-wasi/sys/stropts.h
+share/wasi-sysroot/include/wasm32-wasi/sys/syscall.h
+share/wasi-sysroot/include/wasm32-wasi/sys/sysinfo.h
+share/wasi-sysroot/include/wasm32-wasi/sys/time.h
+share/wasi-sysroot/include/wasm32-wasi/sys/timeb.h
+share/wasi-sysroot/include/wasm32-wasi/sys/times.h
+share/wasi-sysroot/include/wasm32-wasi/sys/timex.h
+share/wasi-sysroot/include/wasm32-wasi/sys/ttydefaults.h
+share/wasi-sysroot/include/wasm32-wasi/sys/types.h
+share/wasi-sysroot/include/wasm32-wasi/sys/uio.h
+share/wasi-sysroot/include/wasm32-wasi/sys/un.h
+share/wasi-sysroot/include/wasm32-wasi/sys/utsname.h
+share/wasi-sysroot/include/wasm32-wasi/syscall.h
+share/wasi-sysroot/include/wasm32-wasi/sysexits.h
+share/wasi-sysroot/include/wasm32-wasi/tar.h
+share/wasi-sysroot/include/wasm32-wasi/tgmath.h
+share/wasi-sysroot/include/wasm32-wasi/threads.h
+share/wasi-sysroot/include/wasm32-wasi/time.h
+share/wasi-sysroot/include/wasm32-wasi/uchar.h
+share/wasi-sysroot/include/wasm32-wasi/unistd.h
+share/wasi-sysroot/include/wasm32-wasi/utime.h
+share/wasi-sysroot/include/wasm32-wasi/values.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/api.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-environ.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-find-relpath.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc-nocwd.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/libc.h
+share/wasi-sysroot/include/wasm32-wasi/wasi/wasip2.h
+share/wasi-sysroot/include/wasm32-wasi/wchar.h
+share/wasi-sysroot/include/wasm32-wasi/wctype.h
+share/wasi-sysroot/lib/wasm32-wasi/crt1-command.o
+share/wasi-sysroot/lib/wasm32-wasi/crt1-reactor.o
+share/wasi-sysroot/lib/wasm32-wasi/crt1.o
+share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-long-double.a
+share/wasi-sysroot/lib/wasm32-wasi/libc-printscan-no-floating-point.a
+share/wasi-sysroot/lib/wasm32-wasi/libc.a
+share/wasi-sysroot/lib/wasm32-wasi/libc.imports
+share/wasi-sysroot/lib/wasm32-wasi/libcrypt.a
+share/wasi-sysroot/lib/wasm32-wasi/libdl.a
+share/wasi-sysroot/lib/wasm32-wasi/libm.a
+share/wasi-sysroot/lib/wasm32-wasi/libpthread.a
+share/wasi-sysroot/lib/wasm32-wasi/libresolv.a
+share/wasi-sysroot/lib/wasm32-wasi/librt.a
+share/wasi-sysroot/lib/wasm32-wasi/libsetjmp.a
+share/wasi-sysroot/lib/wasm32-wasi/libutil.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-getpid.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-mman.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-pthread.a
+share/wasi-sysroot/lib/wasm32-wasi/libwasi-emulated-signal.a
+share/wasi-sysroot/lib/wasm32-wasi/libxnet.a
+share/wasi-sysroot/share/wasm32-wasi/defined-symbols.txt
+share/wasi-sysroot/share/wasm32-wasi/include-all.c
+share/wasi-sysroot/share/wasm32-wasi/predefined-macros.txt
+share/wasi-sysroot/share/wasm32-wasi/undefined-symbols.txt
+@dir share/wasi-sysroot/include/wasm32-wasi/net
+@dir share/wasi-sysroot/include/wasm32-wasi/scsi
diff --git a/devel/wasi-libcxx/Makefile b/devel/wasi-libcxx/Makefile
index c87c5f29c884..12d5d23ff82c 100644
--- a/devel/wasi-libcxx/Makefile
+++ b/devel/wasi-libcxx/Makefile
@@ -18,15 +18,14 @@ LICENSE_NAME= Apache License 2.0 with LLVM Exceptions
LICENSE_FILE= ${WRKSRC}/llvm/LICENSE.TXT
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc
-
USES= cmake tar:xz
.if ${DISTVERSION} == 0
IGNORE= is a meta port; there is nothing to build
PKGNAMESUFFIX= -master
.else
-BUILD_DEPENDS+= wasi-compiler-rt${LLVM_VERSION}>0:devel/wasi-compiler-rt${LLVM_VERSION}
+BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc@${LLVM_VERSION} \
+ wasi-compiler-rt${LLVM_VERSION}>0:devel/wasi-compiler-rt${LLVM_VERSION}
USES+= llvm:${LLVM_SUFFIX}
.endif
@@ -37,28 +36,28 @@ SSP_UNSAFE= yes
NO_ARCH= yes
PLIST= ${.CURDIR}/pkg-plist
-CONFIGURE_ENV+= CC="${CC}" CFLAGS="${CFLAGS}" \
- CXX="${CXX}" CXXFLAGS="${CXXFLAGS}"
-CC= ${LOCALBASE}/bin/clang${LLVM_VERSION}
-CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION}
WASI_SYSROOT= ${LOCALBASE}/share/wasi-sysroot
TRIPLE= wasm32-wasi
WITHOUT_CPU_CFLAGS= yes
# try to sync with https://github.com/WebAssembly/wasi-sdk
-# Makefile and wasi-sdk.cmake
+# wasi-sdk.cmake and cmake/wasi-sdk-sysroot.cmake
CMAKE_INSTALL_PREFIX= ${PREFIX}/share/wasi-sysroot
CMAKE_SOURCE_PATH= ${WRKSRC}/runtimes
-CMAKE_ARGS= -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \
+CMAKE_ARGS= -DCMAKE_SYSTEM_NAME=WASI \
+ -DCMAKE_SYSTEM_VERSION=1 \
+ -DCMAKE_SYSTEM_PROCESSOR=wasm32 \
+ -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \
-DCMAKE_RANLIB=${LOCALBASE}/bin/llvm-ranlib${LLVM_VERSION} \
-DCMAKE_C_COMPILER_TARGET=${TRIPLE} \
-DCMAKE_CXX_COMPILER_TARGET=${TRIPLE} \
+ -DCMAKE_ASM_COMPILER_TARGET=${TRIPLE} \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
-DCMAKE_C_COMPILER_WORKS=ON \
-DCMAKE_CXX_COMPILER_WORKS=ON \
- -DCMAKE_STAGING_PREFIX=${CMAKE_INSTALL_PREFIX} \
- -DLLVM_CONFIG_PATH=${LOCALBASE}/bin/${LLVM_CONFIG} \
+ -DCMAKE_SYSROOT=${WASI_SYSROOT} \
-DCXX_SUPPORTS_CXX11=ON \
-DLIBCXX_ENABLE_THREADS:BOOL=OFF \
-DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \
@@ -83,9 +82,10 @@ CMAKE_ARGS= -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \
-DLIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \
-DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF \
-DUNIX:BOOL=ON \
- -DCMAKE_SYSROOT=${WASI_SYSROOT} \
-DLIBCXX_LIBDIR_SUFFIX=/${TRIPLE} \
-DLIBCXXABI_LIBDIR_SUFFIX=/${TRIPLE} \
+ -DLIBCXX_INCLUDE_TESTS=OFF \
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"
.include <bsd.port.mk>
diff --git a/devel/wasi-libcxx17/Makefile b/devel/wasi-libcxx17/Makefile
index a9198e632db2..8c682b125293 100644
--- a/devel/wasi-libcxx17/Makefile
+++ b/devel/wasi-libcxx17/Makefile
@@ -1,6 +1,6 @@
# must sync with devel/llvm17
DISTVERSION= 17.0.6
-PORTREVISION= 1
+PORTREVISION= 2
MASTERDIR= ${.CURDIR}/../wasi-libcxx
diff --git a/devel/wasi-libcxx18/Makefile b/devel/wasi-libcxx18/Makefile
index a167ef85ce3c..dfdc11ed6177 100644
--- a/devel/wasi-libcxx18/Makefile
+++ b/devel/wasi-libcxx18/Makefile
@@ -1,5 +1,6 @@
# must sync with devel/llvm18
DISTVERSION= 18.1.8
+PORTREVISION= 1
MASTERDIR= ${.CURDIR}/../wasi-libcxx
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile
index 19a1e556f6d8..0aefe9bb5e87 100644
--- a/mail/thunderbird/Makefile
+++ b/mail/thunderbird/Makefile
@@ -1,5 +1,6 @@
PORTNAME= thunderbird
DISTVERSION= 128.3.2
+PORTREVISION= 1
CATEGORIES= mail news net-im wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build1/source
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index 85250c06a86e..fc29ab326471 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -1,5 +1,6 @@
PORTNAME= firefox
DISTVERSION= 128.3.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index f86f24307d33..bf31ec242ee0 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,5 +1,6 @@
PORTNAME= firefox
DISTVERSION= 131.0.3
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= www wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile
index ad6c6289ab17..a2fe94cca6d6 100644
--- a/www/librewolf/Makefile
+++ b/www/librewolf/Makefile
@@ -1,6 +1,7 @@
PORTNAME= librewolf
DISTVERSION= 131.0.2
DISTVERSIONSUFFIX= -1.source
+PORTREVISION= 1
CATEGORIES= www wayland
MASTER_SITES= https://gitlab.com/api/v4/projects/32320088/packages/generic/${PORTNAME}-source/${DISTVERSION}-1/
diff --git a/www/tor-browser/Makefile b/www/tor-browser/Makefile
index ce14768b6380..622d507a8de3 100644
--- a/www/tor-browser/Makefile
+++ b/www/tor-browser/Makefile
@@ -1,6 +1,6 @@
PORTNAME= tor-browser
DISTVERSION= 13.5a9
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= www net security wayland
MASTER_SITES= TOR \
https://build-sources.tbb.torproject.org/:source1 \
diff --git a/www/waterfox/Makefile b/www/waterfox/Makefile
index 08539617489e..f696918ba8a3 100644
--- a/www/waterfox/Makefile
+++ b/www/waterfox/Makefile
@@ -1,7 +1,7 @@
PORTNAME= waterfox
DISTVERSIONPREFIX= G
DISTVERSION= 6.0.19
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= www