Git Product home page Git Product logo

llvm-package-windows's Introduction

LLVM packages for Windows

Releases

LLVM Date LLVM Version Clang Version Remarks
2021-Jul-25 LLVM 13.0.0 Clang 13.0.0 The LLVM master branch
2021-Jul-08 LLVM 12.0.1 Clang 12.0.1 The latest official LLVM release
2021-Feb-25 LLVM 11.1.0 Clang 11.1.0  
2020-Aug-06 LLVM 10.0.1 Clang 10.0.1  
2019-Dec-20 LLVM 9.0.1 Clang 9.0.1  
2019-Jul-19 LLVM 8.0.1 Clang 8.0.1 The latest LLVM that still can be compiled with MSVC 2015
2019-May-10 LLVM 7.1.0 Clang 7.1.0 The ABI compatibility with GCC fix for LLVM 7
2016-Dec-23 LLVM 3.9.1 Clang 3.9.1 The latest LLVM that still can be compiled with MSVC 2013
2014-Jun-19 LLVM 3.4.2 Clang 3.4.2 The latest LLVM that 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 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.

llvm-package-windows's People

Contributors

vovkos avatar odalet avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.