blob: 08b60a264e5e85e77b72af857de6c51224cda45c [file] [log] [blame]
Customizing the toolchain
-------------------------
[[toolchain-custom]]
There are three distinct types of toolchain backend supported in Buildroot,
available under the menu +Toolchain+, invoking +make menuconfig+.
Using the external toolchain backend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There is no way of tuning an external toolchain since Buildroot does not
generate it.
It also requires to set the Buildroot settings according to the toolchain ones
(see xref:external-toolchain[]).
Using the internal Buildroot toolchain backend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The internal Buildroot toolchain backend *only* allows to generate
*http://www.uclibc.org/[uClibc]-based toolchains*.
However, it allows to tune major settings, such as:
* Linux header version
* http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc])
* Binutils, GCC, Gdb and toolchain options
This is directly available after selecting the +Buildroot toolchain+ type in
the menu +Toolchain+.
Using the Crosstool-NG backend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather
limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
+make menuconfig+); mostly:
* The http://crosstool-ng.org[crosstool-NG] configuration file
* Gdb and some toolchain options
Then, the toolchain can be finely tuned invoking +make ctng-menuconfig+.