WebAssembly/wasi-sdk
FreeWASI-enabled WebAssembly C/C++ toolchain
About WebAssembly/wasi-sdk
WASI SDK is an open-source C/C++ toolchain for compiling programs to WebAssembly with WASI (WebAssembly System Interface) support. It provides prebuilt SDK packages that include a Clang/LLVM compiler configured to target WASI, along with a sysroot based on wasi-libc. The toolchain uses git submodules to pull upstream Clang, LLVM, and wasi-libc sources, and offers a two-step CMake build process (first the compiler, then the sysroot). It also supports cross-compilation via Rust target triples and includes runtime library objects needed for proper compilation. The SDK is maintained under the official WebAssembly GitHub organization and leverages mature compiler infrastructure for reliable code generation.
Key Features
Pros & Cons
- Free and open source, with full source code available on GitHub
- Leverages mature LLVM/Clang compiler infrastructure
- Prebuilt SDK packages simplify setup for quick start
- Integration with CMake for building projects
- Part of the official WebAssembly project ensures long-term support
- Build process requires multiple dependencies (cmake, clang, ninja, python3, cargo)
- Two-step build (toolchain and sysroot) can be time-consuming
- Limited to WASI target; not for browser WebAssembly with DOM APIs