LLVM {release} Release
-
macOS Apple Silicon (ARM64) (signature)
-
macOS Intel (x86-64) (signature)
-
Windows x64 (64-bit): installer (signature), archive (signature)
-
Windows on Arm (ARM64): installer (signature), archive (signature)
For any other variants of platform and architecture, check the full list of release packages at the bottom of this release page. If you do not find a release package for your platform, you may be able to find a community built package on the LLVM Discourse forum thread for this release. Remember that these are built by volunteers and may not always be available. If you rely on a platform or configuration that is not one of the defaults, we suggest you use the binaries that your platform provides, or build your own release packages.
Package Types
Each platform has one binary release package. The file name starts with either LLVM-
or clang+llvm-
and ends with the platform's name. For example, LLVM-{release}-Linux-ARM64.tar.xz
contains LLVM binaries for Arm64 Linux.
Except for Windows. Where LLVM-*.exe
is an installer intended for using LLVM as a toolchain and clang+llvm-
contains the contents of the installer, plus libraries and tools not normally used in a toolchain. You most likely want the LLVM-
installer, unless you are developing software which itself uses LLVM, in which case choose clang+llvm-
.
In addition, source archives are available:
<sub-project>-{release}.src.tar.xz
are archives of the sources of specific sub-projects ofllvm-project
(except fortest-suite
which is an archive of the LLVM Test Suite).- To get all the
llvm-project
source code for this release, choosellvm-project-{release}.src.tar.xz
.
Verifying Packages
All packages come with a matching .sig
or .jsonl
file. You should use these to verify the integrity of the packages.
If it has a .sig
file, it should have been signed by the release managers using GPG. Download the keys from the LLVM website, import them into your keyring and use them to verify the file:
$ gpg --import release-keys.asc
$ gpg --verify <package file name>.sig <package file name>
If it has a .jsonl
file, use gh to verify the package:
$ gh attestation verify --repo llvm/llvm-project <package file name>
(if you are able to connect to GitHub)
$ gh attestation verify --repo llvm/llvm-project <package file name> --bundle <package file name>.jsonl
(using attestation file on disk)