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+.
