Toolchains
Toolchains can be specified only by their name, or with a version number
attached. For example, clang
will use whatever clang
binary you have in
your $PATH
, while clang-10
will specifically use clang
version 10.
gcc
This toolchain will use gcc
as compiler. It is the default if you don't
request a specific toolchain. Specify gcc-N
for requesting specific gcc
versions.
clang
This toolchain uses clang
as compiler, but the GNU binutils tools for
assembling and linking. Specify clang-N
for specific versions. Special
variants of clang
are also available:
Variant | Description |
---|---|
clang-nightly |
Nightly clang builds, updated daily |
clang-android |
The exact clang compiler used for official Android builds |
llvm
This toolchain does a full LLVM build, i.e. one with LLVM=1
: compile with
clang, and assemble/link with the LLVM tools. Specify llvm-N
for requesting
specific LLVM versions. As with clang
, the llvm-nightly
and llvm-android
are also available.
rustgcc
This toolchain uses gcc
as C compiler, and also includes the tools required
to build the kernel with Rust support.
Alias: rust
rustclang
This toolchain uses clang
as C compiler, and also includes the tools required
to build the kernel with Rust support.
rustllvm
This toolchain does a full LLVM build for C code (i.e. LLVM=1
), and also
includes the tools required to build the kernel with
Rust support.
korg-clang
This toolchain uses clang
as compiler, but the GNU binutils tools for
assembling and linking. Specify korg-clang-N
for specific
versions. The toolchain binaries are obtained from
kernel.org.
korg-llvm
This toolchain does a full LLVM build, i.e. one with LLVM=1
: compile with
clang, and assemble/link with the LLVM tools. Specify korg-llvm-N
for
requesting specific LLVM versions. The toolchain binaries are obtained
from kernel.org.