diff mbox

[2/3] toolchain-external: update comments

Message ID 1383779283-19725-2-git-send-email-thomas.petazzoni@free-electrons.com
State Accepted
Headers show

Commit Message

Thomas Petazzoni Nov. 6, 2013, 11:08 p.m. UTC
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/toolchain-external/toolchain-external.mk | 42 ++++++++++++----------
 1 file changed, 24 insertions(+), 18 deletions(-)

Comments

Baruch Siach Nov. 7, 2013, 4:35 a.m. UTC | #1
Hi Thomas,

On Thu, Nov 07, 2013 at 12:08:02AM +0100, Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  toolchain/toolchain-external/toolchain-external.mk | 42 ++++++++++++----------
>  1 file changed, 24 insertions(+), 18 deletions(-)
> 
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index e669d21..a423f75 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

A stray '#' in the line above.

baruch

> +#    default glibc-based variant is.
> +#  * Analog Devices toolchains for the Blackfin architecture
> +#  * Xilinx toolchains for the Microblaze architecture
diff mbox

Patch

diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index e669d21..a423f75 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