Skip to content

vovkos/llvm-package-travis

Repository files navigation

LLVM packages for Travis CI

image

image

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.

About

Provides LLVM binary packages for a complete build matrix on Travis CI to help you avoid building LLVM and wasting those precious 50 minutes per job.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published