Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 2.5 KB

File metadata and controls

62 lines (45 loc) · 2.5 KB

LLVM packages for Windows

Releases

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

Abstract

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.

Sample

  • Jancy uses llvm-package-windows for CI testing on a range of configurations and LLVM versions. See build logs for more details.