Initial commit
This commit is contained in:
commit
68fbcfb32e
9 changed files with 361 additions and 0 deletions
69
wasm-libcxx.nix
Normal file
69
wasm-libcxx.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ pkgs }:
|
||||
with pkgs;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "wasm-libcxx";
|
||||
version = "17.0.6";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-17.0.6.tar.gz";
|
||||
hash = "sha256-8MEDLLhocshmxoEBRSKlJ/GzJ8nfuzQ8qn0X/vLA+ag=";
|
||||
};
|
||||
|
||||
wasm-llvm = import ./wasm-llvm.nix { inherit pkgs; };
|
||||
|
||||
wasi-libc = import ./wasi-libc.nix { inherit pkgs; };
|
||||
|
||||
dontFixup = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
python3
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
cmake -G Ninja \
|
||||
-DCMAKE_C_COMPILER_WORKS=ON \
|
||||
-DCMAKE_CXX_COMPILER_WORKS=ON \
|
||||
-DCMAKE_AR=${wasm-llvm}/bin/ar \
|
||||
-DCMAKE_MODULE_PATH=${wasm-llvm.dev}/cmake \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/${wasm-llvm.dev}/cmake/toolchain.cmake \
|
||||
-DCMAKE_STAGING_PREFIX=$out \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=OFF \
|
||||
-DLIBCXX_ENABLE_THREADS:BOOL=OFF \
|
||||
-DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \
|
||||
-DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
|
||||
-DLIBCXX_HAS_WIN32_THREAD_API:BOOL=OFF \
|
||||
-DLLVM_COMPILER_CHECKED=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLIBCXX_ENABLE_SHARED:BOOL=OFF \
|
||||
-DLIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \
|
||||
-DLIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \
|
||||
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT:BOOL=OFF \
|
||||
-DLIBCXX_CXX_ABI=libcxxabi \
|
||||
-DLIBCXX_HAS_MUSL_LIBC:BOOL=ON \
|
||||
-DLIBCXX_ABI_VERSION=2 \
|
||||
-DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \
|
||||
-DLIBCXXABI_ENABLE_SHARED:BOOL=OFF \
|
||||
-DLIBCXXABI_SILENT_TERMINATE:BOOL=ON \
|
||||
-DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \
|
||||
-DLIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \
|
||||
-DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
|
||||
-DLIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF \
|
||||
-DUNIX:BOOL=ON \
|
||||
--debug-trycompile \
|
||||
-DCMAKE_SYSROOT_COMPILE=${wasi-libc.dev} \
|
||||
-DCMAKE_SYSROOT_LINK=${wasi-libc} \
|
||||
-DCMAKE_CXX_FLAGS="-fno-exceptions" \
|
||||
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
|
||||
${src}/runtimes
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
ninja -v
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
ninja -v install
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue