2012-02-08 23:20:54 +01:00
|
|
|
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
|
|
|
|
|
2012-02-09 23:32:02 +01:00
|
|
|
This is directly available after selecting the +Buildroot toolchain+ type in
|
2012-02-08 23:20:54 +01:00
|
|
|
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+.
|