[bug#77653,2/4] gnu: Add wasm32-wasi-clang-runtime.
Commit Message
* gnu/packages/wasm.scm (wasm32-wasi-clang-runtime): New variable.
Change-Id: Ib0465fdc86086451782d533380a8966cdde6dc1e
---
gnu/packages/wasm.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
Comments
Ian Eure <ian@retrospec.tv> writes:
> * gnu/packages/wasm.scm (wasm32-wasi-clang-runtime): New variable.
>
> Change-Id: Ib0465fdc86086451782d533380a8966cdde6dc1e
> ---
> gnu/packages/wasm.scm | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm
> index 060e1e420f..53ea31f4a7 100644
> --- a/gnu/packages/wasm.scm
> +++ b/gnu/packages/wasm.scm
> @@ -76,3 +76,33 @@ (define-public wasi-libc
> license:bsd-2
> ;; For wasi-libc and musl-libc.
> license:expat))))
> +
> +(define-public wasm32-wasi-clang-runtime
> + (package (inherit clang-runtime-16)
Please add a line break
(package
(inherit clang-runtime-16)
....
)
> + (native-inputs
> + (list clang-16
> + wasi-libc))
Should wasi-libc be placed in inputs?
> + (inputs (list llvm-16))
> + (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")
(this-package-native-input "wasi-libc")
> + (string-append
> + "-DCMAKE_C_FLAGS=-I " #$wasi-libc "/wasm32-wasi/include")
(this-package-native-input "wasi-libc")
> +
> + "-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.
> + "../source/compiler-rt/lib/builtins")))))
@@ -76,3 +76,33 @@ (define-public wasi-libc
license:bsd-2
;; For wasi-libc and musl-libc.
license:expat))))
+
+(define-public wasm32-wasi-clang-runtime
+ (package (inherit clang-runtime-16)
+ (native-inputs
+ (list clang-16
+ wasi-libc))
+ (inputs (list llvm-16))
+ (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.
+ "../source/compiler-rt/lib/builtins")))))