LLVM Date | LLVM Version | Clang Version | Remarks |
2022-Dec-10 | LLVM 15.0.3 | Clang 15.0.3 | The LLVM master branch |
LLVM x.x.x | Clang x.x.x | Create a new issue to request a particular LLVM version |
LLVM is huge, and it's getting bigger with each and every release. Building it together with a project that depends on it (e.g., a programming language) during a CI build is not an option -- building just LLVM eats most (earlier LLVM releases), and all (recent LLVM releases) of the allotted CI build time.
So why not use pre-built packages from the official LLVM download page? Unfortunately, the official binaries cover just a tiny fraction of possible build configurations on Microsoft Windows. There are no Debug libraries, no builds for the static LIBCMT, and only a single toolchain per LLVM release.
The llvm-package-windows
project builds all major versions of LLVM on GitHub Actions for the following, much more complete matrix:
- Toolchain:
- Visual Studio 2017
- Visual Studio 2015 (LLVM 3.4.2 to 8.0.0)
- Visual Studio 2013 (LLVM 3.4.2 to 3.9.1)
- Visual Studio 2010 (LLVM 3.4.2 only)
- Configuration:
- Debug
- Release
- Target CPU:
- IA32 (a.k.a. x86)
- AMD64 (a.k.a. x86_64)
- C/C++ Runtime:
- LIBCMT (static)
- MSVCRT (dynamic)
The resulting LLVM binary packages are uploaded as GitHub Release artifacts. Compiler developers can now thoroughly test their LLVM-dependent projects on GitHub CI or AppVeyor CI simply by downloading and unpacking an archive with the required LLVM prebuilt binaries during the CI installation stage.
- Jancy uses
llvm-package-windows
for CI testing on a range of configurations and LLVM versions. See build logs for more details.