customize-toolchain.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // -*- mode:doc; -*-
  2. // vim: set syntax=asciidoc:
  3. [[toolchain-custom]]
  4. === Customizing the toolchain
  5. There are three distinct types of toolchain backend supported in Buildroot,
  6. available under the menu +Toolchain+, invoking +make menuconfig+.
  7. ==== Using the external toolchain backend
  8. There is no way of tuning an external toolchain since Buildroot does not
  9. generate it.
  10. It also requires to set the Buildroot settings according to the toolchain ones
  11. (see xref:external-toolchain-backend[]).
  12. When using an external toolchain, Buildroot generates a wrapper program,
  13. that transparently passes the appropriate options (according to the
  14. configuration) to the external toolchain programs. In case you need to
  15. debug this wrapper to check exactly what arguments are passed, you can
  16. set the environment variable +BR2_DEBUG_WRAPPER+ to either one of:
  17. * +0+, empty or not set: no debug
  18. * +1+: trace all arguments on a single line
  19. * +2+: trace one argument per line
  20. ==== Using the internal Buildroot toolchain backend
  21. The internal Buildroot toolchain backend allows to generate toolchains
  22. based on http://www.uclibc.org/[uClibc],
  23. https://www.gnu.org/software/libc/[glibc] and
  24. http://www.eglibc.org/[eglibc].
  25. Generation of (e)glibc-based toolchains is still experimental in
  26. Buildroot.
  27. It allows to tune major settings, such as:
  28. * Linux headers version;
  29. * C library configuration (only available for
  30. http://www.uclibc.org/[uClibc], see xref:uclibc-custom[uClibc]);
  31. * Binutils, GCC, Gdb and toolchain options.
  32. These settings are available after selecting the +Buildroot toolchain+ type in
  33. the menu +Toolchain+.