Basic setup taken from The Path to Rust on the Web
- Installing managed tools src src2
rustup target add wasm32-unknown-emscripten
brew install emscripten
brew install clang nodejs git
- for llvm
- Running
cargo build --target=wasm32-unknown-emscripten
claims to work but no wasm or js are createdemcc -v
complains about system llvm not having wasm target
- Install llvm-emscripten src
CORES=4 mkdir myfastcall cd myfastcall git clone https://github.com/kripken/emscripten-fastcomp cd emscripten-fastcomp git clone https://github.com/kripken/emscripten-fastcomp-clang tools/clang mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;X;JSBackend" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_EXAMPLES=OFF -DCLANG_INCLUDE_TESTS=OFF make -j${CORES} perl -ipe "s/^LLVM_ROOT.*$/LLVM_ROOT = \\\"$(pwd)/bin\\\"" ~/.emscripten
- Running
cargo build --target=wasm32-unknown-emscripten
now generates wasm and js files properly!