diff options
author | Pierre Langlois <pierre.langlois@gmx.com> | 2022-01-17 19:10:18 +0000 |
---|---|---|
committer | Jonathan Brielmaier <jonathan.brielmaier@web.de> | 2022-01-23 15:47:52 +0100 |
commit | 1166f2979dde8dc5622ef0d5e2020a6239ca453a (patch) | |
tree | ad58fe97590ed0560090f632165ef2393c29b762 | |
parent | 3ed8e63dd6867550f8ef4d9e98803d3af776274e (diff) |
nongnu: Add wasm32-wasi-clang-runtime.
* nongnu/packages/wasm.scm (wasm32-wasi-clang-runtime): New variable.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
-rw-r--r-- | nongnu/packages/wasm.scm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nongnu/packages/wasm.scm b/nongnu/packages/wasm.scm index b238a46a..6d9fe5e1 100644 --- a/nongnu/packages/wasm.scm +++ b/nongnu/packages/wasm.scm @@ -72,3 +72,35 @@ other APIs.") license:bsd-2 ;; For wasi-libc and musl-libc. license:expat))))) + +(define-public wasm32-wasi-clang-runtime + (package (inherit clang-runtime-13) + (native-inputs + (list clang-13 + wasi-libc)) + (inputs (list llvm-13)) + (arguments + (list + #:build-type "Release" + #:tests? #f + ;; Stripping binaries breaks wasm linking, resulting in the following + ;; error: "archive has no index; run ranlib to add one". + #:strip-binaries? #f + #:configure-flags + #~(list "-DCMAKE_C_COMPILER=clang" + "-DCMAKE_C_COMPILER_TARGET=wasm32-wasi" + (string-append + "-DCMAKE_SYSROOT=" #$wasi-libc "/wasm32-wasi") + (string-append + "-DCMAKE_C_FLAGS=-I " #$wasi-libc "/wasm32-wasi/include") + + "-DCOMPILER_RT_OS_DIR=wasi" + + "-DCOMPILER_RT_BAREMETAL_BUILD=On" + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=On" + + ;; WASM only needs libclang_rt.builtins-wasm32.a from + ;; compiler-rt. + (string-append "../compiler-rt-" + #$(package-version clang-runtime-13) + ".src/lib/builtins")))))) |