COMMENT =	C++ standard library for WebAssembly System Interface

DISTNAME =	llvm-${LLVM_V}.src
PKGNAME =	wasi-libcxx-${LLVM_V}
LIBPATH =	wasm32-wasi/libc++.a
BUILDSUBDIR =	libcxx

# In transition from BSD-ish to Apache 2 + LLVM exceptions
PERMIT_PACKAGE =	Yes

BUILD_DEPENDS +=	lang/wasi-libc

CONFIGURE_ARGS=	-DLLVM_PATH=${WRKDIR}/${DISTNAME} \
		-DCMAKE_C_COMPILER_WORKS=1 \
		-DCMAKE_CXX_COMPILER_WORKS=1 \
		-DCMAKE_CXX_COMPILER_TARGET=wasm32-wasi \
		-DCMAKE_STAGING_PREFIX=${WASI_SYSROOT} \
		-DCMAKE_SYSROOT=${WASI_SYSROOT} \
		-DUNIX:BOOL=ON \
		-DLIBCXX_ABI_VERSION=2 \
		-DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
		-DLIBCXX_CXX_ABI=libcxxabi \
		-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${WRKDIR}/${DISTNAME}/libcxxabi/include \
		-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL=OFF \
		-DLIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \
		-DLIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \
		-DLIBCXX_ENABLE_SHARED:BOOL=OFF \
		-DLIBCXX_ENABLE_THREADS:BOOL=OFF \
		-DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
		-DLIBCXX_HAS_MUSL_LIBC:BOOL=ON \
		-DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \
		-DLIBCXX_HAS_WIN32_THREAD_API:BOOL=OFF \
		-DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF \
		-DLIBCXX_INCLUDE_TESTS:BOOL=OFF \
		-DLIBCXX_LIBDIR_SUFFIX=/wasm32-wasi \
		-DLIBCXX_SUPPORTS_FNO_EXCEPTIONS_FLAG:BOOL=ON

.include <bsd.port.mk>
