This repository provides pre-built LLVM binaries for WAVM.
LLVM_COMMIT- Pinned LLVM commit hash to buildpatches/- WAVM-specific patches applied to LLVM before building.github/workflows/build-llvm.yml- GitHub Actions workflow
The CI workflow:
- Clones llvm-project at the commit specified in
LLVM_COMMIT - Applies patches from
patches/ - Builds LLVM in multiple configurations
- Publishes pre-built binaries as GitHub Releases
| Config | Build Type | Includes | Notes |
|---|---|---|---|
| LTO | Release | LLVM + Clang + LLD + clang-format | Built with ThinLTO |
| RelWithDebInfo | RelWithDebInfo | LLVM only | |
| Debug | Debug | LLVM only | |
| Checked | RelWithDebInfo | LLVM only | LLVM_ENABLE_ASSERTIONS=ON |
| Sanitized | RelWithDebInfo | LLVM only | For ASAN/UBSAN builds |
- Linux x86_64 (built on manylinux_2_28, glibc 2.28+)
- Windows x86_64
- macOS ARM64
Pre-built binaries are published as GitHub Releases. Each release includes:
llvm-{version}-linux-x64-{config}.tar.xzllvm-{version}-windows-x64-{config}.zipllvm-{version}-macos-arm64-{config}.tar.xz
To update to a new LLVM commit:
- Update
LLVM_COMMITwith the new commit hash - Update/add patches in
patches/if needed - Push to the release branch