| // -*- mode:doc; -*- |
| // vim: set syntax=asciidoc: |
| |
| [[toolchain-custom]] |
| Customizing the toolchain |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| 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-backend[]). |
| |
| 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 headers version; |
| |
| * http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc]); |
| |
| * Binutils, GCC, Gdb and toolchain options. |
| |
| These settings are 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: |
| |
| * The http://crosstool-ng.org[crosstool-NG] configuration file |
| |
| * Gdb and some toolchain options |
| |
| Then, the toolchain can be fine-tuned by invoking +make ctng-menuconfig+. |