Installing dependencies
The following dependencies are only required for compiling to WASM.
- wasmer
- Clang / LLVM version 13
or later (NB: On macOS the preinstalled clang does not support the
wasm target so use
brew install llvm
instead for example) - wasi-sdk
- wasm-ld - the LLVM linker for WASM (NB: On
linux you may need to install the
lld
package, on macOS this is installed as part ofllvm
).
To install wasi-sdk
you need to download libclang_rt
and
wasi-sysroot
precompiled archives from the wasi-sdk release
page and:
-
Extract the
libclang_rt.builtins-wasm32-wasi-*.tar.gz
archive in theclang
installation root (for example/usr/lib/clang/13
on Ubuntu or`brew --prefix llvm`
on macos).For example on macos with homebrew clang:
cd `brew --prefix llvm` curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-15/libclang_rt.builtins-wasm32-wasi-15.0.tar.gz -OL tar xf libclang_rt.builtins-wasm32-wasi-15.0.tar.gz
-
Extract the
wasi-sysroot-*.tar.gz
archive on your local system and setWASI_SYSROOT_PATH
to its path.For example:
cd ~ curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-15/wasi-sysroot-15.0.tar.gz -OL tar xf wasi-sysroot-15.0.tar.gz export WASI_SYSROOT_PATH=~/wasi-sysroot