/llvm-ports

LLVM ported to recent Debian and Ubuntu releases.

Primary LanguageDockerfileGNU General Public License v3.0GPL-3.0

LLVM Ports

This project ports the LLVM Project to recent Debian and Ubuntu releases.

Images

The ports are available as Docker images at Docker Hub. They also come with the Debian/Ubuntu release's default GCC, and the latest releases of GNU Binutils (currently version 2.43.1) and CMake (currently version 3.31.0).

The image tags are in the format of version[-variant]-codename, where version is the LLVM release version, codename is the codename of the Debian/Ubuntu release, and variant is an optional variant identifier (see below). For example, tag 15.0.7-jammy refers to the image with LLVM 15.0.7 on Ubuntu 22.04 (Jammy Jellyfish), and tag 14-slim-bullseye refers to the "slim" variant of the image with the latest LLVM 14 release on Debian 11 (Bullseye).

The following LLVM releases are available:

LLVM release versions as appeared in tags
LLVM 19.1.3 19, 19.1, 19.1.3
LLVM 18.1.8 18, 18.1, 18.1.8
LLVM 17.0.6 17, 17.0, 17.0.6
LLVM 16.0.6 16, 16.0, 16.0.6
LLVM 15.0.7 15, 15.0, 15.0.7
LLVM 14.0.6 14, 14.0, 14.0.6
LLVM 13.0.1 13, 13.0, 13.0.1
LLVM 12.0.1 12, 12.0, 12.0.1

The following Debian/Ubuntu releases are available:

Release codename as appeared in tags
Debian 12 (Bookworm) bookworm
Debian 11 (Bullseye) bullseye
Ubuntu 24.04 (Noble Numbat) noble
Ubuntu 22.04 (Jammy Jellyfish) jammy
Ubuntu 20.04 (Focal Fossa) focal

All images provide the LLVM Core libraries, Clang, Extra Clang Tools, LLD, LLDB, MLIR, Polly, compiler-rt, libc++, libc++ ABI, libunwind, and OpenMP.

The "slim" variants are available. They provide significantly smaller images by having LLVM and Clang libraries dynamically linked. This, however, also comes at the cost of a substantial performance penalty. See here for more details.

See here for a complete list of tags.

License

This project is licensed under the GPL-3.0 License.