summaryrefslogtreecommitdiff
path: root/docs/manual/customize-toolchain.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/customize-toolchain.txt')
-rw-r--r--docs/manual/customize-toolchain.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/docs/manual/customize-toolchain.txt b/docs/manual/customize-toolchain.txt
new file mode 100644
index 000000000..a54e2e220
--- /dev/null
+++ b/docs/manual/customize-toolchain.txt
@@ -0,0 +1,45 @@
+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 avaiblable 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+.