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