2013-02-13 13:59:02 +01:00
|
|
|
// -*- mode:doc; -*-
|
|
|
|
// vim: set syntax=asciidoc:
|
2012-11-11 04:14:42 +01:00
|
|
|
|
2012-02-08 23:20:54 +01:00
|
|
|
[[toolchain-custom]]
|
2012-11-11 04:14:42 +01:00
|
|
|
Customizing the toolchain
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
2012-02-08 23:20:54 +01:00
|
|
|
|
|
|
|
There are three distinct types of toolchain backend supported in Buildroot,
|
|
|
|
available under the menu +Toolchain+, invoking +make menuconfig+.
|
|
|
|
|
|
|
|
Using the external toolchain backend
|
2012-11-11 04:14:42 +01:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2012-02-08 23:20:54 +01:00
|
|
|
|
|
|
|
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
|
2013-02-25 12:31:21 +01:00
|
|
|
(see xref:external-toolchain-backend[]).
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2013-09-21 00:00:30 +02:00
|
|
|
When using an external toolchain, Buildroot generates a wrapper program, that
|
|
|
|
passes the appropriate options (according to the configuration) to the
|
|
|
|
external toolchain programs. In case you need to debug this wrapper, you can
|
|
|
|
set the environment variable BR_DEBUG_WRAPPER to either one of:
|
|
|
|
|
|
|
|
* +0+, empty or not set: no debug
|
|
|
|
|
|
|
|
* +1+: trace all arguments on a single line
|
|
|
|
|
|
|
|
* +2+: trace one argument per line
|
|
|
|
|
2012-02-08 23:20:54 +01:00
|
|
|
Using the internal Buildroot toolchain backend
|
2012-11-11 04:14:42 +01:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2013-10-18 22:31:34 +02:00
|
|
|
The internal Buildroot toolchain backend allows to generate toolchains
|
|
|
|
based on http://www.uclibc.org/[uClibc],
|
|
|
|
https://www.gnu.org/software/libc/[glibc] and
|
|
|
|
http://www.eglibc.org/[eglibc].
|
|
|
|
Generation of (e)glibc-based toolchains is still experimental in
|
|
|
|
Buildroot.
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2013-10-18 22:31:34 +02:00
|
|
|
It allows to tune major settings, such as:
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2012-11-27 12:59:16 +01:00
|
|
|
* Linux headers version;
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2013-10-18 22:31:34 +02:00
|
|
|
* C library configuration (only available for
|
|
|
|
http://www.uclibc.org/[uClibc], see xref:uclibc-custom[uClibc]);
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2012-11-27 12:59:16 +01:00
|
|
|
* Binutils, GCC, Gdb and toolchain options.
|
2012-02-08 23:20:54 +01:00
|
|
|
|
2012-11-27 12:59:16 +01:00
|
|
|
These settings are available after selecting the +Buildroot toolchain+ type in
|
2012-02-08 23:20:54 +01:00
|
|
|
the menu +Toolchain+.
|