summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-11-06 23:08:02 (GMT)
committer Peter Korsgaard <peter@korsgaard.com>2013-11-10 23:26:28 (GMT)
commitb07c2affc9d15ca9083615930dbbea0ec80166ed (patch)
treeb590aa0d6de8a652f1c5fc3d9fc00a0be33cf10f
parent620d85b3107df4e09bf7bbb4018a5ec00b98bcff (diff)
downloadbuildroot-b07c2affc9d15ca9083615930dbbea0ec80166ed.tar.gz
buildroot-b07c2affc9d15ca9083615930dbbea0ec80166ed.tar.bz2
toolchain-external: update comments
[Peter: drop extra # as pointed out by Baruch Siach] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--toolchain/toolchain-external/toolchain-external.mk42
1 files changed, 24 insertions, 18 deletions
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 2351c9b..1732070 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -13,14 +13,21 @@
#
# * Toolchains generated by Crosstool-NG
# * Toolchains generated by Buildroot
-# * ARM, MIPS and PowerPC toolchains made available by
-# Codesourcery. For the MIPS toolchain, the -muclibc variant isn't
-# supported yet, only the default glibc-based variant is.
+# * Toolchains provided by Linaro for the ARM and AArch64
+# architectures
+# * Sourcery CodeBench toolchains (from Mentor Graphics) for the ARM,
+# MIPS, PowerPC, x86, x86_64 and NIOS 2 architectures. For the MIPS
+# toolchain, the -muclibc variant isn't supported yet, only the
+# default glibc-based variant is.
+# * Analog Devices toolchains for the Blackfin architecture
+# * Xilinx toolchains for the Microblaze architecture
#
# The basic principle is the following
#
# 1. If the toolchain is not pre-installed, download and extract it
-# in $(TOOLCHAIN_EXTERNAL_INSTALL_DIR).
+# in $(TOOLCHAIN_EXTERNAL_INSTALL_DIR). Otherwise,
+# $(TOOLCHAIN_EXTERNAL_INSTALL_DIR) points to were the toolchain has
+# already been installed by the user.
#
# 2. For all external toolchains, perform some checks on the
# conformity between the toolchain configuration described in the
@@ -85,22 +92,21 @@ LIB_EXTERNAL_LIBS+=$(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
# Details about sysroot directory selection.
#
-# To find the sysroot directory:
+# To find the sysroot directory, we use the trick of looking for the
+# 'libc.a' file with the -print-file-name gcc option, and then
+# mangling the path to find the base directory of the sysroot.
#
-# * We first try the -print-sysroot option, available in gcc 4.4.x
-# and in some Codesourcery toolchains.
+# Note that we do not use the -print-sysroot option, because it is
+# only available since gcc 4.4.x, and we still support 4.2.x (for
+# AVR32) and 4.3.x.
#
-# * If this option is not available, we fallback to the value of
-# --with-sysroot as visible in CROSS-gcc -v.
-#
-# When doing those tests, we don't pass any option to gcc that could
-# select a multilib variant (such as -march) as we want the "main"
-# sysroot, which contains all variants of the C library in the case of
-# multilib toolchains. We use the TARGET_CC_NO_SYSROOT variable, which
-# is the path of the cross-compiler, without the
-# --sysroot=$(STAGING_DIR), since what we want to find is the location
-# of the original toolchain sysroot. This "main" sysroot directory is
-# stored in SYSROOT_DIR.
+# When doing this, we don't pass any option to gcc that could select a
+# multilib variant (such as -march) as we want the "main" sysroot,
+# which contains all variants of the C library in the case of multilib
+# toolchains. We use the TARGET_CC_NO_SYSROOT variable, which is the
+# path of the cross-compiler, without the --sysroot=$(STAGING_DIR),
+# since what we want to find is the location of the original toolchain
+# sysroot. This "main" sysroot directory is stored in SYSROOT_DIR.
#
# Then, multilib toolchains are a little bit more complicated, since
# they in fact have multiple sysroots, one for each variant supported