LLVM packages for Travis CI
Releases
LLVM Date | LLVM Version | Clang Version | Remarks |
---|---|---|---|
2019-Jul-05 | The LLVM master branch | ||
2019-Mar-20 | The latest official LLVM release | ||
2019-Apr-17 | The ABI compatibility with GCC fix for LLVM 7 | ||
2016-Dec-23 | The latest LLVM which still can be compiled with MSVC 2013 | ||
2014-Jun-19 | The latest LLVM which still can be compiled with MSVC 2010 | ||
LLVM x.x.x | Clang x.x.x | Create a new issue to request a particular LLVM version |
Abstract
LLVM is huge, and it's getting bigger with each and every release. Building it together with a project which depends on it (e.g., an LLVM-targeting programming language) during a CI build is not an option -- building LLVM itself 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 configurations; what's even worse, there's no consistency in the build matrix from release to release. There are no Debug libraries or 32-bit binaries for Ubuntu, sometimes Ubuntu build is missing, sometimes there's no Mac OS X, etc.
The llvm-package-travis
project builds all important versions of both LLVM and LibClang on Travis CI (so there's a guarantee of binary compatibility) and for a consistent and much more complete build matrix:
- OS:
- Linux Ubuntu 16.04 (Xenial Xerus)
- Linux Ubuntu 14.04 (Trusty Tahr)
- Mac OS X
- Compiler:
- GCC (Linux only)
- Clang
- Configuration:
- Debug (libraries only, no tools)
- Release
- Target CPU:
- IA32 (a.k.a. x86; Linux only)
- AMD64 (a.k.a. x86_64)
The resulting LLVM binary packages are made publicly available as GitHub release artifacts. Compiler developers can now fully test their LLVM-dependent projects on Travis CI by downloading and unpacking a corresponding LLVM binary archive during the CI installation phase.
Big thanks to the Travis CI team for increasing the allotted build time for llvm-package-travis
!
Sample
- Jancy uses
llvm-package-windows
for CI testing on a range of configurations and LLVM versions. See build logs for more details.