i got it. for macos:
- brew install llvm
- /usr/local/opt/llvm/bin/clang --target=wasm32 ...
- /usr/local/opt/llvm/bin/llvm-ar rcs libnumber.a number.o
- rustc -L . -l number --target wasm32-unknown-unknown ./src/main.rs -o a.out.wasm
or use cargo with cc creat. build.rs:
fn main() {
let host = std::env::var("HOST").unwrap();
let target = std::env::var("TARGET").unwrap();
if target.contains("wasm32") {
if host.contains("darwin") {
// brew install llvm
std::env::set_var("CC", "/usr/local/opt/llvm/bin/clang");
std::env::set_var("AR", "/usr/local/opt/llvm/bin/llvm-ar");
}
}
cc::Build::new()
.include("src/vendor")
.file("src/vendor/number.c")
.flag("-Ofast")
.compile("number")
}
thx @kornel ![]()