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