From: Ray Donnelly <mingw.android@gmail.com>
To: Yann Diorcet <diorcet.yann@gmail.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>, crossgcc@sourceware.org
Subject: Re: [PATCH 1 of 1] cc/gcc: Split gcc configurations and functions from cc ones
Date: Mon, 09 Dec 2013 19:05:00 -0000 [thread overview]
Message-ID: <CAOYw7dsrHkLxhnW2xDHmArV9eieNM62+=owoFW1_s1aw5pDKvg@mail.gmail.com> (raw)
In-Reply-To: <65771b86df01ef768aa3.1386017534@blackmint>
Any chance of getting this patch reviewed? It's important as the basis
for the rest of the clang/llvm patches.
Cheers,
Ray.
On Mon, Dec 2, 2013 at 8:52 PM, Yann Diorcet <diorcet.yann@gmail.com> wrote:
> # HG changeset patch
> # User Yann Diorcet <diorcet.yann@gmail.com>
> # Date 1386017469 -3600
> # Mon Dec 02 21:51:09 2013 +0100
> # Node ID 65771b86df01ef768aa36b6db1491a198cbf2811
> # Parent 7e569a9cb5fd3ab591bb307328b947a5b7312cba
> cc/gcc: Split gcc configurations and functions from cc ones
>
> Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
>
> diff -r 7e569a9cb5fd -r 65771b86df01 config/cc.in
> --- a/config/cc.in Sat Nov 16 18:14:45 2013 +0100
> +++ b/config/cc.in Mon Dec 02 21:51:09 2013 +0100
> @@ -4,9 +4,7 @@
>
> config CC
> string
> -
> -config CC_VERSION
> - string
> + default "gcc"
>
> config CC_CORE_PASSES_NEEDED
> bool
> @@ -126,6 +124,4 @@
>
> endif # ! BARE_METAL
>
> -source "config.gen/cc.in.2"
> -
> endmenu
> diff -r 7e569a9cb5fd -r 65771b86df01 config/cc/gcc.in
> --- a/config/cc/gcc.in Sat Nov 16 18:14:45 2013 +0100
> +++ b/config/cc/gcc.in Mon Dec 02 21:51:09 2013 +0100
> @@ -1,5 +1,6 @@
> # Compiler options
> #
> +## default y
> ## select CC_SUPPORT_CXX
> ## select CC_SUPPORT_FORTRAN
> ## select CC_SUPPORT_JAVA
> @@ -36,215 +37,215 @@
> # Don't remove next line
> # CT_INSERT_VERSION_BELOW
>
> -config CC_V_linaro_4_8
> +config CC_GCC_V_linaro_4_8
> bool
> prompt "linaro-4.8-2013.06-1"
> depends on CC_GCC_SHOW_LINARO
> select CC_GCC_4_8
>
> -config CC_V_4_8_2
> +config CC_GCC_V_4_8_2
> bool
> prompt "4.8.2"
> select CC_GCC_4_8
>
> -config CC_V_4_8_1
> +config CC_GCC_V_4_8_1
> bool
> prompt "4.8.1"
> select CC_GCC_4_8
>
> -config CC_V_4_8_0
> +config CC_GCC_V_4_8_0
> bool
> prompt "4.8.0"
> select CC_GCC_4_8
>
> -config CC_V_linaro_4_7
> +config CC_GCC_V_linaro_4_7
> bool
> prompt "linaro-4.7-2013.06-1"
> depends on CC_GCC_SHOW_LINARO
> select CC_GCC_4_7
>
> -config CC_V_4_7_3
> +config CC_GCC_V_4_7_3
> bool
> prompt "4.7.3"
> select CC_GCC_4_7
>
> -config CC_V_4_7_2
> +config CC_GCC_V_4_7_2
> bool
> prompt "4.7.2"
> select CC_GCC_4_7
>
> -config CC_V_4_7_1
> +config CC_GCC_V_4_7_1
> bool
> prompt "4.7.1"
> select CC_GCC_4_7
>
> -config CC_V_4_7_0
> +config CC_GCC_V_4_7_0
> bool
> prompt "4.7.0"
> select CC_GCC_4_7
>
> -config CC_V_linaro_4_6
> +config CC_GCC_V_linaro_4_6
> bool
> prompt "linaro-4.6-2013.05"
> depends on CC_GCC_SHOW_LINARO
> select CC_GCC_4_6
>
> -config CC_V_4_6_4
> +config CC_GCC_V_4_6_4
> bool
> prompt "4.6.4"
> select CC_GCC_4_6
>
> -config CC_V_4_6_3
> +config CC_GCC_V_4_6_3
> bool
> prompt "4.6.3"
> select CC_GCC_4_6
>
> -config CC_V_4_6_2
> +config CC_GCC_V_4_6_2
> bool
> prompt "4.6.2"
> select CC_GCC_4_6
>
> -config CC_V_4_6_1
> +config CC_GCC_V_4_6_1
> bool
> prompt "4.6.1"
> select CC_GCC_4_6
>
> -config CC_V_4_6_0
> +config CC_GCC_V_4_6_0
> bool
> prompt "4.6.0"
> select CC_GCC_4_6
>
> -config CC_V_linaro_4_5
> +config CC_GCC_V_linaro_4_5
> bool
> prompt "linaro-4.5-2012.03"
> depends on CC_GCC_SHOW_LINARO
> select CC_GCC_4_5
>
> -config CC_V_4_5_3
> +config CC_GCC_V_4_5_3
> bool
> prompt "4.5.3"
> select CC_GCC_4_5
>
> -config CC_V_4_5_2
> +config CC_GCC_V_4_5_2
> bool
> prompt "4.5.2"
> select CC_GCC_4_5
>
> -config CC_V_4_5_1
> +config CC_GCC_V_4_5_1
> bool
> prompt "4.5.1"
> select CC_GCC_4_5
>
> -config CC_V_4_5_0
> +config CC_GCC_V_4_5_0
> bool
> prompt "4.5.0"
> select CC_GCC_4_5
>
>
> -config CC_V_linaro_4_4
> +config CC_GCC_V_linaro_4_4
> bool
> prompt "linaro-4.4-2011.02-0"
> depends on CC_GCC_SHOW_LINARO
> select CC_GCC_4_4
>
> -config CC_V_4_4_7
> +config CC_GCC_V_4_4_7
> bool
> prompt "4.4.7"
> select CC_GCC_4_4
>
> -config CC_V_4_4_6
> +config CC_GCC_V_4_4_6
> bool
> prompt "4.4.6"
> select CC_GCC_4_4
>
> -config CC_V_4_4_5
> +config CC_GCC_V_4_4_5
> bool
> prompt "4.4.5"
> select CC_GCC_4_4
>
> -config CC_V_4_4_4
> +config CC_GCC_V_4_4_4
> bool
> prompt "4.4.4"
> select CC_GCC_4_4
>
> -config CC_V_4_4_3
> +config CC_GCC_V_4_4_3
> bool
> prompt "4.4.3"
> select CC_GCC_4_4
>
> -config CC_V_4_4_2
> +config CC_GCC_V_4_4_2
> bool
> prompt "4.4.2"
> select CC_GCC_4_4
>
> -config CC_V_4_4_1
> +config CC_GCC_V_4_4_1
> bool
> prompt "4.4.1"
> select CC_GCC_4_4
>
> -config CC_V_4_4_0
> +config CC_GCC_V_4_4_0
> bool
> prompt "4.4.0"
> select CC_GCC_4_4
>
> -config CC_V_4_3_6
> +config CC_GCC_V_4_3_6
> bool
> prompt "4.3.6"
> select CC_GCC_4_3
>
> -config CC_V_4_3_5
> +config CC_GCC_V_4_3_5
> bool
> prompt "4.3.5"
> select CC_GCC_4_3
>
> -config CC_V_4_3_4
> +config CC_GCC_V_4_3_4
> bool
> prompt "4.3.4"
> select CC_GCC_4_3
>
> -config CC_V_4_3_3
> +config CC_GCC_V_4_3_3
> bool
> prompt "4.3.3"
> select CC_GCC_4_3
>
> -config CC_V_4_3_2
> +config CC_GCC_V_4_3_2
> bool
> prompt "4.3.2"
> select CC_GCC_4_3
>
> -config CC_V_4_3_1
> +config CC_GCC_V_4_3_1
> bool
> prompt "4.3.1"
> select CC_GCC_4_3
>
> -config CC_V_4_2_4
> +config CC_GCC_V_4_2_4
> bool
> prompt "4.2.4"
> select CC_GCC_4_2
>
> # We need that one, it's the only version with avr32 support
> # because we have a patch for it
> -config CC_V_4_2_2
> +config CC_GCC_V_4_2_2
> bool
> prompt "4.2.2"
> select CC_GCC_4_2
>
> -config CC_V_4_1_2
> +config CC_GCC_V_4_1_2
> bool
> prompt "4.1.2 (OBSOLETE)"
> depends on OBSOLETE
>
> -config CC_V_4_0_4
> +config CC_GCC_V_4_0_4
> bool
> prompt "4.0.4 (OBSOLETE)"
> depends on OBSOLETE
>
> -config CC_V_3_4_6
> +config CC_GCC_V_3_4_6
> bool
> prompt "3.4.6 (OBSOLETE)"
> depends on OBSOLETE
>
> -config CC_CUSTOM
> +config CC_GCC_CUSTOM
> bool
> prompt "Custom gcc"
> depends on EXPERIMENTAL
> @@ -252,9 +253,9 @@
>
> endchoice
>
> -if CC_CUSTOM
> +if CC_GCC_CUSTOM
>
> -config CC_CUSTOM_LOCATION
> +config CC_GCC_CUSTOM_LOCATION
> string
> prompt "Full path to custom gcc source"
> default ""
> @@ -262,7 +263,7 @@
> Enter the path to the directory (or tarball) of your source for gcc,
> or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
>
> -endif #CC_CUSTOM
> +endif #CC_GCC_CUSTOM
>
> config CC_GCC_4_2
> bool
> @@ -434,6 +435,8 @@
> select GMP_NEEDED
> select MPFR_NEEDED
>
> + select CLOOG_NEEDED
> +
> config CC_GCC_USE_MPC
> bool
> select MPC_NEEDED
> @@ -445,52 +448,52 @@
> config CC_GCC_HAS_LIBQUADMATH
> bool
>
> -config CC_VERSION
> +config CC_GCC_VERSION
> string
> # Don't remove next line
> # CT_INSERT_VERSION_STRING_BELOW
> - default "linaro-4.8-2013.06-1" if CC_V_linaro_4_8
> - default "4.8.2" if CC_V_4_8_2
> - default "4.8.1" if CC_V_4_8_1
> - default "4.8.0" if CC_V_4_8_0
> - default "linaro-4.7-2013.06-1" if CC_V_linaro_4_7
> - default "4.7.3" if CC_V_4_7_3
> - default "4.7.2" if CC_V_4_7_2
> - default "4.7.1" if CC_V_4_7_1
> - default "4.7.0" if CC_V_4_7_0
> - default "linaro-4.6-2013.05" if CC_V_linaro_4_6
> - default "4.6.4" if CC_V_4_6_4
> - default "4.6.3" if CC_V_4_6_3
> - default "4.6.2" if CC_V_4_6_2
> - default "4.6.1" if CC_V_4_6_1
> - default "4.6.0" if CC_V_4_6_0
> - default "linaro-4.5-2012.03" if CC_V_linaro_4_5
> - default "4.5.3" if CC_V_4_5_3
> - default "4.5.2" if CC_V_4_5_2
> - default "4.5.1" if CC_V_4_5_1
> - default "4.5.0" if CC_V_4_5_0
> - default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4
> - default "4.4.7" if CC_V_4_4_7
> - default "4.4.6" if CC_V_4_4_6
> - default "4.4.5" if CC_V_4_4_5
> - default "4.4.4" if CC_V_4_4_4
> - default "4.4.3" if CC_V_4_4_3
> - default "4.4.2" if CC_V_4_4_2
> - default "4.4.1" if CC_V_4_4_1
> - default "4.4.0" if CC_V_4_4_0
> - default "4.3.6" if CC_V_4_3_6
> - default "4.3.5" if CC_V_4_3_5
> - default "4.3.4" if CC_V_4_3_4
> - default "4.3.3" if CC_V_4_3_3
> - default "4.3.2" if CC_V_4_3_2
> - default "4.3.1" if CC_V_4_3_1
> - default "4.3.0" if CC_V_4_3_0
> - default "4.2.4" if CC_V_4_2_4
> - default "4.2.2" if CC_V_4_2_2
> - default "4.1.2" if CC_V_4_1_2
> - default "4.0.4" if CC_V_4_0_4
> - default "3.4.6" if CC_V_3_4_6
> - default "custom" if CC_CUSTOM
> + default "linaro-4.8-2013.06-1" if CC_GCC_V_linaro_4_8
> + default "4.8.2" if CC_GCC_V_4_8_2
> + default "4.8.1" if CC_GCC_V_4_8_1
> + default "4.8.0" if CC_GCC_V_4_8_0
> + default "linaro-4.7-2013.06-1" if CC_GCC_V_linaro_4_7
> + default "4.7.3" if CC_GCC_V_4_7_3
> + default "4.7.2" if CC_GCC_V_4_7_2
> + default "4.7.1" if CC_GCC_V_4_7_1
> + default "4.7.0" if CC_GCC_V_4_7_0
> + default "linaro-4.6-2013.05" if CC_GCC_V_linaro_4_6
> + default "4.6.4" if CC_GCC_V_4_6_4
> + default "4.6.3" if CC_GCC_V_4_6_3
> + default "4.6.2" if CC_GCC_V_4_6_2
> + default "4.6.1" if CC_GCC_V_4_6_1
> + default "4.6.0" if CC_GCC_V_4_6_0
> + default "linaro-4.5-2012.03" if CC_GCC_V_linaro_4_5
> + default "4.5.3" if CC_GCC_V_4_5_3
> + default "4.5.2" if CC_GCC_V_4_5_2
> + default "4.5.1" if CC_GCC_V_4_5_1
> + default "4.5.0" if CC_GCC_V_4_5_0
> + default "linaro-4.4-2011.02-0" if CC_GCC_V_linaro_4_4
> + default "4.4.7" if CC_GCC_V_4_4_7
> + default "4.4.6" if CC_GCC_V_4_4_6
> + default "4.4.5" if CC_GCC_V_4_4_5
> + default "4.4.4" if CC_GCC_V_4_4_4
> + default "4.4.3" if CC_GCC_V_4_4_3
> + default "4.4.2" if CC_GCC_V_4_4_2
> + default "4.4.1" if CC_GCC_V_4_4_1
> + default "4.4.0" if CC_GCC_V_4_4_0
> + default "4.3.6" if CC_GCC_V_4_3_6
> + default "4.3.5" if CC_GCC_V_4_3_5
> + default "4.3.4" if CC_GCC_V_4_3_4
> + default "4.3.3" if CC_GCC_V_4_3_3
> + default "4.3.2" if CC_GCC_V_4_3_2
> + default "4.3.1" if CC_GCC_V_4_3_1
> + default "4.3.0" if CC_GCC_V_4_3_0
> + default "4.2.4" if CC_GCC_V_4_2_4
> + default "4.2.2" if CC_GCC_V_4_2_2
> + default "4.1.2" if CC_GCC_V_4_1_2
> + default "4.0.4" if CC_GCC_V_4_0_4
> + default "3.4.6" if CC_GCC_V_3_4_6
> + default "custom" if CC_GCC_CUSTOM
>
> config CC_LANG_JAVA_USE_ECJ
> bool
> @@ -501,3 +504,5 @@
> # Fortran always requires GMP+MPFR, whatever the gcc version
> config CC_LANG_FORTRAN
> select CC_GCC_USE_GMP_MPFR
> +
> +source "config/cc/gcc.in.2"
> diff -r 7e569a9cb5fd -r 65771b86df01 config/cc/gcc.in.2
> --- a/config/cc/gcc.in.2 Sat Nov 16 18:14:45 2013 +0100
> +++ b/config/cc/gcc.in.2 Mon Dec 02 21:51:09 2013 +0100
> @@ -1,6 +1,6 @@
> # gcc configuration options
>
> -config CC_ENABLE_CXX_FLAGS
> +config CC_GCC_ENABLE_CXX_FLAGS
> string
> prompt "Flags to pass to --enable-cxx-flags"
> default ""
> @@ -11,7 +11,7 @@
> Note: just pass in the option _value_, that is only the part that goes
> after the '=' sign.
>
> -config CC_CORE_EXTRA_CONFIG_ARRAY
> +config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
> string
> prompt "Core gcc extra config"
> default ""
> @@ -25,7 +25,7 @@
> if they are properly quoted (or escaped, but prefer quotes). Eg.:
> --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
>
> -config CC_EXTRA_CONFIG_ARRAY
> +config CC_GCC_EXTRA_CONFIG_ARRAY
> string
> prompt "gcc extra config"
> default ""
> @@ -38,9 +38,9 @@
> --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
>
> config STATIC_TOOLCHAIN
> - select CC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later
> + select CC_GCC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later
>
> -config CC_STATIC_LIBSTDCXX
> +config CC_GCC_STATIC_LIBSTDCXX
> bool
> prompt "Link libstdc++ statically into the gcc binary"
> default y
> diff -r 7e569a9cb5fd -r 65771b86df01 config/config.mk
> --- a/config/config.mk Sat Nov 16 18:14:45 2013 +0100
> +++ b/config/config.mk Mon Dec 02 21:51:09 2013 +0100
> @@ -83,7 +83,7 @@
>
> config.gen/cc.in: $(CC_CONFIG_FILES) $(CC_CONFIG_FILES_2)
> @$(ECHO) ' IN $(@)'
> - $(SILENT)$(CT_LIB_DIR)/scripts/gen_in_frags.sh choice "$@" "C compiler" "CC" "config/cc" "N" $(CCS)
> + $(SILENT)$(CT_LIB_DIR)/scripts/gen_in_frags.sh menu "$@" "C compiler" "CC" "config/cc" $(CCS)
>
> config.gen/binutils.in: $(CC_BINUTILS_FILES) $(CC_BINUTILS_FILES_2)
> @$(ECHO) ' IN $(@)'
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/alphaev56-unknown-linux-gnu/crosstool.config
> --- a/samples/alphaev56-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/alphaev56-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -10,7 +10,7 @@
> CT_BINUTILS_V_2_21_1a=y
> CT_BINUTILS_PLUGINS=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_5=y
> +CT_CC_GCC_V_4_4_5=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/alphaev67-unknown-linux-gnu/crosstool.config
> --- a/samples/alphaev67-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/alphaev67-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -8,7 +8,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_38=y
> CT_BINUTILS_V_2_21_1a=y
> -CT_CC_V_4_3_5=y
> +CT_CC_GCC_V_4_3_5=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config
> --- a/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -11,7 +11,7 @@
> CT_TARGET_VENDOR="bare_newlib_cortex_m3_nommu"
> CT_ARCH_BINFMT_FLAT=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_4_1=y
> +CT_CC_GCC_V_4_4_1=y
> CT_CC_LANG_CXX=y
> CT_LIBC_NEWLIB_V_1_18_0=y
> CT_GMP_V_4_3_2=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-cortex_a8-linux-gnueabi/crosstool.config
> --- a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -10,7 +10,7 @@
> CT_KERNEL_linux=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_6=y
> +CT_CC_GCC_V_4_4_6=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config
> --- a/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -18,7 +18,7 @@
> CT_BINUTILS_PLUGINS=y
> CT_BINUTILS_FOR_TARGET=y
> CT_CC_GCC_SHOW_LINARO=y
> -CT_CC_V_linaro_4_7=y
> +CT_CC_GCC_V_linaro_4_7=y
> CT_CC_LANG_CXX=y
> CT_CC_CORE_EXTRA_CONFIG_ARRAY="\"--with-specs=%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}\" --enable-poison-system-directories"
> CT_CC_EXTRA_CONFIG_ARRAY="\"--with-specs=%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}\" --enable-poison-system-directories"
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-davinci-linux-gnueabi/crosstool.config
> --- a/samples/arm-davinci-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-davinci-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -11,7 +11,7 @@
> CT_KERNEL_V_2_6_33=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-unknown-eabi/crosstool.config
> --- a/samples/arm-unknown-eabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-unknown-eabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -4,7 +4,7 @@
> CT_ARCH_FLOAT_SW=y
> CT_ARCH_arm=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_4=y
> +CT_CC_GCC_V_4_3_4=y
> CT_CC_LANG_CXX=y
> CT_LIBC_NEWLIB_V_1_17_0=y
> CT_DEBUG_gdb=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-unknown-linux-gnueabi/crosstool.config
> --- a/samples/arm-unknown-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-unknown-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_linux=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-unknown-linux-uclibcgnueabi/crosstool.config
> --- a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -11,7 +11,7 @@
> CT_KERNEL_V_2_6_33=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_3=y
> +CT_CC_GCC_V_4_4_3=y
> CT_CC_LANG_CXX=y
> CT_LIBC_uClibc=y
> CT_LIBC_UCLIBC_V_0_9_30_2=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/armeb-unknown-eabi/crosstool.config
> --- a/samples/armeb-unknown-eabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/armeb-unknown-eabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -5,7 +5,7 @@
> CT_ARCH_FLOAT_SW=y
> CT_ARCH_arm=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_LIBC_none=y
> CT_DEBUG_gdb=y
> CT_GDB_V_6_8a=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/armeb-unknown-linux-gnueabi/crosstool.config
> --- a/samples/armeb-unknown-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/armeb-unknown-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -11,7 +11,7 @@
> CT_KERNEL_linux=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_3=y
> +CT_CC_GCC_V_4_4_3=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config
> --- a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -16,7 +16,7 @@
> CT_BINUTILS_LD_WRAPPER=y
> CT_BINUTILS_PLUGINS=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_6_4=y
> +CT_CC_GCC_V_4_6_4=y
> CT_CC_LANG_CXX=y
> CT_CC_GCC_DISABLE_PCH=y
> # CT_CC_GCC_SJLJ_EXCEPTIONS is not set
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/avr32-unknown-none/crosstool.config
> --- a/samples/avr32-unknown-none/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/avr32-unknown-none/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -4,7 +4,7 @@
> CT_LOG_EXTRA=y
> CT_ARCH_avr32=y
> CT_BINUTILS_V_2_18a=y
> -CT_CC_V_4_2_2=y
> +CT_CC_GCC_V_4_2_2=y
> CT_LIBC_NEWLIB_V_1_17_0=y
> CT_LIBC_NEWLIB_IO_LL=y
> CT_LIBC_NEWLIB_IO_FLOAT=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/bfin-unknown-linux-uclibc/crosstool.config
> --- a/samples/bfin-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/bfin-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -6,7 +6,7 @@
> CT_KERNEL_V_2_6_33=y
> CT_ARCH_BINFMT_FDPIC=y
> CT_BINUTILS_V_2_20_1a=y
> -CT_CC_V_4_3_4=y
> +CT_CC_GCC_V_4_3_4=y
> CT_LIBC_UCLIBC_V_0_9_30_2=y
> CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"
> CT_GMP_V_4_3_2=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/i586-geode-linux-uclibc/crosstool.config
> --- a/samples/i586-geode-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/i586-geode-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -8,7 +8,7 @@
> CT_KERNEL_V_2_6_36=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_5=y
> +CT_CC_GCC_V_4_4_5=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/i586-mingw32msvc,i686-none-linux-gnu/crosstool.config
> --- a/samples/i586-mingw32msvc,i686-none-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/i586-mingw32msvc,i686-none-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -12,7 +12,7 @@
> CT_KERNEL_V_2_6_33=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-targets=i686-none-linux-gnu"
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/i686-nptl-linux-gnu/crosstool.config
> --- a/samples/i686-nptl-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/i686-nptl-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -13,7 +13,7 @@
> CT_BINUTILS_LD_WRAPPER=y
> CT_BINUTILS_PLUGINS=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_5_2=y
> +CT_CC_GCC_V_4_5_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/i686-unknown-mingw32/crosstool.config
> --- a/samples/i686-unknown-mingw32/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/i686-unknown-mingw32/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_windows=y
> CT_BINUTILS_V_2_21_1a=y
> CT_BINUTILS_PLUGINS=y
> -CT_CC_V_4_5_2=y
> +CT_CC_GCC_V_4_5_2=y
> CT_CC_LANG_CXX=y
> CT_MINGW_DIRECTX=y
> CT_MINGW_DDK=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/m68k-unknown-elf/crosstool.config
> --- a/samples/m68k-unknown-elf/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/m68k-unknown-elf/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -6,7 +6,7 @@
> CT_ARCH_m68k=y
> CT_ARCH_BINFMT_FLAT=y
> CT_BINUTILS_V_2_20_1a=y
> -CT_CC_V_4_3_4=y
> +CT_CC_GCC_V_4_3_4=y
> CT_LIBC_none=y
> CT_GMP_V_4_3_2=y
> CT_MPFR_V_2_4_2=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-ar2315-linux-gnu/crosstool.config
> --- a/samples/mips-ar2315-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mips-ar2315-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -10,7 +10,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_33=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_EGLIBC_V_2_9=y
> CT_EGLIBC_REVISION="{2009-07-21}"
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-malta-linux-gnu/crosstool.config
> --- a/samples/mips-malta-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mips-malta-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_38=y
> CT_BINUTILS_V_2_21_1a=y
> -CT_CC_V_4_4_6=y
> +CT_CC_GCC_V_4_4_6=y
> # CT_CC_GCC_USE_GRAPHITE is not set
> CT_LIBC_EGLIBC_V_2_13=y
> CT_DEBUG_gdb=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-unknown-elf/crosstool.config
> --- a/samples/mips-unknown-elf/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mips-unknown-elf/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -4,7 +4,7 @@
> CT_ARCH_FLOAT_SW=y
> CT_ARCH_mips=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_LIBC_none=y
> CT_DEBUG_gdb=y
> CT_GDB_V_6_8a=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-unknown-linux-uclibc/crosstool.config
> --- a/samples/mips-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mips-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -8,7 +8,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_3_6=y
> CT_BINUTILS_V_2_21_1a=y
> -CT_CC_V_4_6_4=y
> +CT_CC_GCC_V_4_6_4=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_LIBC_uClibc=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips64el-n32-linux-uclibc/crosstool.config
> --- a/samples/mips64el-n32-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mips64el-n32-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -10,7 +10,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_uClibc=y
> CT_LIBC_UCLIBC_V_0_9_30_1=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips64el-n64-linux-uclibc/crosstool.config
> --- a/samples/mips64el-n64-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mips64el-n64-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -11,7 +11,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_uClibc=y
> CT_LIBC_UCLIBC_V_0_9_30_1=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mipsel-sde-elf/crosstool.config
> --- a/samples/mipsel-sde-elf/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mipsel-sde-elf/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -6,7 +6,7 @@
> CT_ARCH_mips=y
> CT_TARGET_VENDOR="sde"
> CT_BINUTILS_V_2_21_1a=y
> -CT_CC_V_4_4_6=y
> +CT_CC_GCC_V_4_4_6=y
> # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
> CT_LIBC_none=y
> CT_DEBUG_gdb=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/mipsel-unknown-linux-gnu/crosstool.config
> --- a/samples/mipsel-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/mipsel-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -9,7 +9,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-405-linux-gnu/crosstool.config
> --- a/samples/powerpc-405-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-405-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -10,7 +10,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-860-linux-gnu/crosstool.config
> --- a/samples/powerpc-860-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-860-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -9,7 +9,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_EXTRA_CONFIG_ARRAY="--with-cpu=860 --enable-cxx-flags=-mcpu=860 --with-float=soft --enable-cxx-flags=-msoft-float"
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-e300c3-linux-gnu/crosstool.config
> --- a/samples/powerpc-e300c3-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-e300c3-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -9,7 +9,7 @@
> CT_KERNEL_V_2_6_36=y
> CT_BINUTILS_V_2_21_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_5_2=y
> +CT_CC_GCC_V_4_5_2=y
> CT_CC_LANG_CXX=y
> CT_CC_EXTRA_CONFIG_ARRAY="--with-long-double-128"
> # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-e500v2-linux-gnuspe/crosstool.config
> --- a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -14,7 +14,7 @@
> CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-spe=yes --enable-e500x2 --with-e500x2"
> CT_BINUTILS_FOR_TARGET=y
> CT_CC_GCC_SHOW_LINARO=y
> -CT_CC_V_4_6_4=y
> +CT_CC_GCC_V_4_6_4=y
> CT_CC_LANG_CXX=y
> CT_CC_EXTRA_CONFIG_ARRAY="--with-long-double-128"
> # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-unknown-linux-gnu/crosstool.config
> --- a/samples/powerpc-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -6,7 +6,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-unknown-linux-uclibc/crosstool.config
> --- a/samples/powerpc-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_2_4=y
> +CT_CC_GCC_V_4_2_4=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_LIBC_uClibc=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config
> --- a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -8,7 +8,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc64-unknown-linux-gnu/crosstool.config
> --- a/samples/powerpc64-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/powerpc64-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -8,7 +8,7 @@
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_5_2=y
> +CT_CC_GCC_V_4_5_2=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/s390-ibm-linux-gnu/crosstool.config
> --- a/samples/s390-ibm-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/s390-ibm-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -6,7 +6,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_20_1a=y
> -CT_CC_V_4_3_4=y
> +CT_CC_GCC_V_4_3_4=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/s390x-ibm-linux-gnu/crosstool.config
> --- a/samples/s390x-ibm-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/s390x-ibm-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -8,7 +8,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_31=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_4_5=y
> +CT_CC_GCC_V_4_4_5=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/sh4-unknown-linux-gnu/crosstool.config
> --- a/samples/sh4-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/sh4-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_linux=y
> CT_KERNEL_V_2_6_27=y
> CT_BINUTILS_V_2_19_1a=y
> -CT_CC_V_4_3_2=y
> +CT_CC_GCC_V_4_3_2=y
> CT_CC_LANG_CXX=y
> CT_LIBC_glibc=y
> CT_LIBC_GLIBC_V_2_9=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/x86_64-unknown-linux-gnu/crosstool.config
> --- a/samples/x86_64-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/x86_64-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_V_2_6_33=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_3=y
> +CT_CC_GCC_V_4_4_3=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/x86_64-unknown-linux-uclibc/crosstool.config
> --- a/samples/x86_64-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/x86_64-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_V_2_6_33=y
> CT_BINUTILS_V_2_20_1a=y
> CT_BINUTILS_FOR_TARGET=y
> -CT_CC_V_4_4_3=y
> +CT_CC_GCC_V_4_4_3=y
> CT_CC_LANG_FORTRAN=y
> CT_CC_LANG_CXX=y
> CT_CC_LANG_JAVA=y
> diff -r 7e569a9cb5fd -r 65771b86df01 samples/x86_64-unknown-mingw32/crosstool.config
> --- a/samples/x86_64-unknown-mingw32/crosstool.config Sat Nov 16 18:14:45 2013 +0100
> +++ b/samples/x86_64-unknown-mingw32/crosstool.config Mon Dec 02 21:51:09 2013 +0100
> @@ -7,7 +7,7 @@
> CT_KERNEL_windows=y
> CT_BINUTILS_V_2_21_1a=y
> CT_BINUTILS_PLUGINS=y
> -CT_CC_V_4_5_2=y
> +CT_CC_GCC_V_4_5_2=y
> CT_CC_LANG_CXX=y
> CT_MINGW_DIRECTX=y
> CT_MINGW_DDK=y
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/cc.sh
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/scripts/build/cc.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -0,0 +1,59 @@
> +# Wrapper to build the companion tools facilities
> +
> +# List all companion tools facilities, and parse their scripts
> +CT_CC_FACILITY_LIST=
> +for f in "${CT_LIB_DIR}/scripts/build/cc/"*.sh; do
> + _f="$(basename "${f}" .sh)"
> + _f="${_f#???-}"
> + __f="CT_CC_${_f}"
> + if [ "${!__f}" = "y" ]; then
> + CT_DoLog DEBUG "Enabling cc '${_f}'"
> + . "${f}"
> + CT_CC_FACILITY_LIST="${CT_CC_FACILITY_LIST} ${_f}"
> + else
> + CT_DoLog DEBUG "Disabling cc '${_f}'"
> + fi
> +done
> +
> +# Download the cc facilities
> +do_cc_get() {
> + for f in ${CT_CC_FACILITY_LIST}; do
> + do_${f}_get
> + done
> +}
> +
> +# Extract and patch the cc facilities
> +do_cc_extract() {
> + for f in ${CT_CC_FACILITY_LIST}; do
> + do_${f}_extract
> + done
> +}
> +
> +# Core pass 1 the cc facilities
> +do_cc_core_pass_1() {
> + for f in ${CT_CC_FACILITY_LIST}; do
> + do_${f}_core_pass_1
> + done
> +}
> +
> +# Core pass 2 the cc facilities
> +do_cc_core_pass_2() {
> + for f in ${CT_CC_FACILITY_LIST}; do
> + do_${f}_core_pass_2
> + done
> +}
> +
> +# Build for build the cc facilities
> +do_cc_for_build() {
> + for f in ${CT_CC_FACILITY_LIST}; do
> + do_${f}_for_build
> + done
> +}
> +
> +# Build for host the cc facilities
> +do_cc_for_host() {
> + for f in ${CT_CC_FACILITY_LIST}; do
> + do_${f}_for_host
> + done
> +}
> +
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/cc/100-gcc.sh
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/scripts/build/cc/100-gcc.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -0,0 +1,874 @@
> +# This file adds the function to build the gcc C compiler
> +# Copyright 2007 Yann E. MORIN
> +# Licensed under the GPL v2. See COPYING in the root of this package
> +
> +# Download gcc
> +do_gcc_get() {
> + local linaro_version
> + local linaro_series
> + local linaro_base_url="http://launchpad.net/gcc-linaro"
> +
> + if [ "${CT_CC_GCC_CUSTOM}" = "y" ]; then
> + CT_GetCustom "gcc" "${CT_CC_GCC_VERSION}" "${CT_CC_GCC_CUSTOM_LOCATION}"
> + else
> + # Account for the Linaro versioning
> + linaro_version="$( echo "${CT_CC_GCC_VERSION}" \
> + |sed -r -e 's/^linaro-//;' \
> + )"
> + linaro_series="$( echo "${linaro_version}" \
> + |sed -r -e 's/-.*//;' \
> + )"
> +
> + # Ah! gcc folks are kind of 'different': they store the tarballs in
> + # subdirectories of the same name!
> + # Arrgghh! Some of those versions does not follow this convention:
> + # gcc-3.3.3 lives in releases/gcc-3.3.3, while gcc-2.95.* isn't in a
> + # subdirectory!
> + CT_GetFile "gcc-${CT_CC_GCC_VERSION}" \
> + {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_GCC_VERSION}} \
> + ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_GCC_VERSION} \
> + ftp://ftp.uvsq.fr/pub/gcc/snapshots/${CT_CC_GCC_VERSION} \
> + "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
> + fi # ! custom location
> + # Starting with GCC 4.3, ecj is used for Java, and will only be
> + # built if the configure script finds ecj.jar at the top of the
> + # GCC source tree, which will not be there unless we get it and
> + # put it there ourselves
> + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then
> + CT_GetFile ecj-latest .jar ftp://gcc.gnu.org/pub/java \
> + ftp://sourceware.org/pub/java
> + fi
> +}
> +
> +# Extract gcc
> +do_gcc_extract() {
> + # If using custom directory location, nothing to do
> + if [ "${CT_CC_GCC_CUSTOM}" = "y" \
> + -a -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}" ]; then
> + return 0
> + fi
> +
> + CT_Extract "gcc-${CT_CC_GCC_VERSION}"
> + CT_Patch "gcc" "${CT_CC_GCC_VERSION}"
> +
> + # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
> + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \
> + -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/ecj.jar" \
> + ]; then
> + CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/ecj.jar"
> + fi
> +}
> +
> +#------------------------------------------------------------------------------
> +# This function builds up the set of languages to enable
> +# No argument expected, returns the comma-separated language list on stdout
> +cc_gcc_lang_list() {
> + local lang_list
> +
> + lang_list="c"
> + [ "${CT_CC_LANG_CXX}" = "y" ] && lang_list+=",c++"
> + [ "${CT_CC_LANG_FORTRAN}" = "y" ] && lang_list+=",fortran"
> + [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada"
> + [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java"
> + [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc"
> + [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++"
> + [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go"
> + lang_list+="${CT_CC_LANG_OTHERS:+,${CT_CC_LANG_OTHERS}}"
> +
> + printf "%s" "${lang_list}"
> +}
> +
> +#------------------------------------------------------------------------------
> +# Core gcc pass 1
> +do_gcc_core_pass_1() {
> + local -a core_opts
> +
> + if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then
> + return 0
> + fi
> +
> + core_opts+=( "mode=static" )
> + core_opts+=( "host=${CT_BUILD}" )
> + core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
> + core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
> + core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
> + core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
> + core_opts+=( "lang_list=c" )
> +
> + CT_DoStep INFO "Installing pass-1 core C gcc compiler"
> + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-1"
> +
> + do_gcc_core_backend "${core_opts[@]}"
> +
> + CT_Popd
> + CT_EndStep
> +}
> +
> +# Core gcc pass 2
> +do_gcc_core_pass_2() {
> + local -a core_opts
> +
> + if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then
> + return 0
> + fi
> +
> + # Common options:
> + core_opts+=( "host=${CT_BUILD}" )
> + core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
> + core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
> + core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
> + core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
> + core_opts+=( "lang_list=c" )
> +
> + # Different conditions are at stake here:
> + # - In case the threading model is NPTL, we need a shared-capable core
> + # gcc; in all other cases, we need a static-only core gcc.
> + # - In case the threading model is NPTL or win32, or gcc is 4.3 or
> + # later, we need to build libgcc
> + case "${CT_THREADS}" in
> + nptl)
> + core_opts+=( "mode=shared" )
> + core_opts+=( "build_libgcc=yes" )
> + ;;
> + win32)
> + core_opts+=( "mode=static" )
> + core_opts+=( "build_libgcc=yes" )
> + ;;
> + *)
> + core_opts+=( "mode=static" )
> + if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
> + core_opts+=( "build_libgcc=yes" )
> + fi
> + ;;
> + esac
> +
> + CT_DoStep INFO "Installing pass-2 core C gcc compiler"
> + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-2"
> +
> + do_gcc_core_backend "${core_opts[@]}"
> +
> + CT_Popd
> + CT_EndStep
> +}
> +
> +#------------------------------------------------------------------------------
> +# Build core gcc
> +# This function is used to build the core C compiler.
> +# Usage: do_gcc_core_backend param=value [...]
> +# Parameter : Definition : Type : Default
> +# mode : build a 'static', 'shared' or 'baremetal' : string : (none)
> +# host : the machine the core will run on : tuple : (none)
> +# prefix : dir prefix to install into : dir : (none)
> +# complibs : dir where complibs are isntalled : dir : (none)
> +# lang_list : the list of languages to build : string : (empty)
> +# build_libgcc : build libgcc or not : bool : no
> +# build_libstdcxx : build libstdc++ or not : bool : no
> +# build_staticlinked : build statically linked or not : bool : no
> +# build_manuals : whether to build manuals or not : bool : no
> +# cflags : cflags to use : string : (empty)
> +# ldflags : ldflags to use : string : (empty)
> +# Usage: do_gcc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no]
> +do_gcc_core_backend() {
> + local mode
> + local build_libgcc=no
> + local build_libstdcxx=no
> + local build_staticlinked=no
> + local build_manuals=no
> + local host
> + local prefix
> + local complibs
> + local lang_list
> + local cflags
> + local ldflags
> + local tmp
> + local -a host_libstdcxx_flags
> + local -a extra_config
> + local -a core_LDFLAGS
> + local -a core_targets
> + local arg
> + local exeext
> +
> + for arg in "$@"; do
> + eval "${arg// /\\ }"
> + done
> +
> + CT_DoLog EXTRA "Configuring core C gcc compiler"
> +
> + case "${mode}" in
> + static)
> + extra_config+=("--with-newlib")
> + extra_config+=("--enable-threads=no")
> + extra_config+=("--disable-shared")
> + copy_headers=y # For baremetal, as there's no headers to copy,
> + # we copy an empty directory. So, who cares?
> + ;;
> + shared)
> + extra_config+=("--enable-shared")
> + copy_headers=y
> + ;;
> + baremetal)
> + extra_config+=("--with-newlib")
> + extra_config+=("--enable-threads=no")
> + extra_config+=("--disable-shared")
> + copy_headers=n
> + ;;
> + *)
> + CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'"
> + ;;
> + esac
> +
> + if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then
> + # Bare metal delivers the core compiler as final compiler, so add version info and bugurl
> + extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
> + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
> + fi
> +
> + if [ "${copy_headers}" = "y" ]; then
> + CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2"
> + CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
> + fi
> +
> + for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
> + eval tmp="\${CT_ARCH_WITH_${tmp}}"
> + if [ -n "${tmp}" ]; then
> + extra_config+=("${tmp}")
> + fi
> + done
> + if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
> + extra_config+=("--enable-__cxa_atexit")
> + else
> + extra_config+=("--disable-__cxa_atexit")
> + fi
> +
> + core_LDFLAGS+=("${ldflags}")
> +
> + # *** WARNING ! ***
> + # Keep this full if-else-if-elif-fi-fi block in sync
> + # with the same block in do_gcc, below.
> + if [ "${build_staticlinked}" = "yes" ]; then
> + core_LDFLAGS+=("-static")
> + host_libstdcxx_flags+=("-static-libgcc")
> + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
> + host_libstdcxx_flags+=("-lm")
> + # Companion libraries are build static (eg !shared), so
> + # the libstdc++ is not pulled automatically, although it
> + # is needed. Shoe-horn it in our LDFLAGS
> + # Ditto libm on some Fedora boxen
> + core_LDFLAGS+=("-lstdc++")
> + core_LDFLAGS+=("-lm")
> + else
> + if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
> + # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
> + # build script
> + # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
> + # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
> + host_libstdcxx_flags+=("-static-libgcc")
> + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
> + host_libstdcxx_flags+=("-lm")
> + elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then
> + # When companion libraries are build static (eg !shared),
> + # the libstdc++ is not pulled automatically, although it
> + # is needed. Shoe-horn it in our LDFLAGS
> + # Ditto libm on some Fedora boxen
> + core_LDFLAGS+=("-lstdc++")
> + core_LDFLAGS+=("-lm")
> + fi
> + fi
> +
> + if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then
> + extra_config+=("--with-gmp=${complibs}")
> + extra_config+=("--with-mpfr=${complibs}")
> + fi
> + if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
> + extra_config+=("--with-mpc=${complibs}")
> + fi
> + if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
> + if [ "${CT_PPL}" = "y" ]; then
> + extra_config+=("--with-ppl=${complibs}")
> + # With PPL 0.11+, also pull libpwl if needed
> + if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
> + host_libstdcxx_flags+=("-L${complibs}/lib")
> + host_libstdcxx_flags+=("-lpwl")
> + fi
> + fi
> + if [ "${CT_ISL}" = "y" ]; then
> + extra_config+=("--with-isl=${complibs}")
> + fi
> + extra_config+=("--with-cloog=${complibs}")
> + elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
> + extra_config+=("--with-ppl=no")
> + extra_config+=("--with-isl=no")
> + extra_config+=("--with-cloog=no")
> + fi
> + if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
> + extra_config+=("--with-libelf=${complibs}")
> + extra_config+=("--enable-lto")
> + elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then
> + extra_config+=("--with-libelf=no")
> + extra_config+=("--disable-lto")
> + fi
> +
> + if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
> + extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
> + fi
> +
> + if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
> + extra_config+=("--enable-target-optspace")
> + fi
> +
> + case "${CT_CC_GCC_LDBL_128}" in
> + y) extra_config+=("--with-long-double-128");;
> + m) ;;
> + "") extra_config+=("--without-long-double-128");;
> + esac
> +
> + if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
> + extra_config+=( --enable-linker-build-id )
> + fi
> +
> + case "${CT_CC_GCC_LNK_HASH_STYLE}" in
> + "") ;;
> + *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
> + esac
> +
> + case "${CT_ARCH}" in
> + mips)
> + case "${CT_CC_GCC_mips_llsc}" in
> + y) extra_config+=( --with-llsc );;
> + m) ;;
> + *) extra_config+=( --without-llsc );;
> + esac
> + case "${CT_CC_GCC_mips_synci}" in
> + y) extra_config+=( --with-synci );;
> + m) ;;
> + *) extra_config+=( --without-synci );;
> + esac
> + if [ "${CT_CC_GCC_mips_plt}" ]; then
> + extra_config+=( --with-mips-plt )
> + fi
> + ;; # ARCH is mips
> + esac
> +
> + extra_config+=(--disable-libgomp)
> + extra_config+=(--disable-libmudflap)
> +
> + [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls")
> +
> + [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ] && extra_config+=("--disable-libstdcxx-pch")
> +
> + if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
> + extra_config+=("--with-system-zlib")
> + fi
> +
> + if [ "${CT_MULTILIB}" = "y" ]; then
> + extra_config+=("--enable-multilib")
> + else
> + extra_config+=("--disable-multilib")
> + fi
> +
> + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
> +
> + # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
> + CT_DoExecLog CFG \
> + CC_FOR_BUILD="${CT_BUILD}-gcc" \
> + CFLAGS_FOR_BUILD="${CT_EXTRA_CFLAGS_FOR_BUILD-${cflags}}" \
> + CFLAGS="${cflags}" \
> + CXXFLAGS="${cflags}" \
> + LDFLAGS="${core_LDFLAGS[*]}" \
> + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/configure" \
> + --build=${CT_BUILD} \
> + --host=${host} \
> + --target=${CT_TARGET} \
> + --prefix="${prefix}" \
> + --with-local-prefix="${CT_SYSROOT_DIR}" \
> + --disable-libmudflap \
> + ${CC_CORE_SYSROOT_ARG} \
> + "${extra_config[@]}" \
> + --enable-languages="${lang_list}" \
> + "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}"
> +
> + if [ "${build_libgcc}" = "yes" ]; then
> + # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or
> + # gcc/config/t-libunwind so -lc is removed from the link for
> + # libgcc_s.so, as we do not have a target -lc yet.
> + # This is not as ugly as it appears to be ;-) All symbols get resolved
> + # during the glibc build, and we provide a proper libgcc_s.so for the
> + # cross toolchain during the final gcc build.
> + #
> + # As we cannot modify the source tree, nor override SHLIB_LC itself
> + # during configure or make, we have to edit the resultant
> + # gcc/libgcc.mk itself to remove -lc from the link.
> + # This causes us to have to jump through some hoops...
> + #
> + # To produce libgcc.mk to edit we firstly require libiberty.a,
> + # so we configure then build it.
> + # Next we have to configure gcc, create libgcc.mk then edit it...
> + # So much easier if we just edit the source tree, but hey...
> + if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then
> + CT_DoExecLog CFG make ${JOBSFLAGS} configure-libiberty
> + CT_DoExecLog ALL make ${JOBSFLAGS} -C libiberty libiberty.a
> + CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp
> + CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp
> + else
> + CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp configure-build-libiberty
> + CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp all-build-libiberty
> + fi
> + # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here.
> + if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/libdecnumber" ]; then
> + CT_DoExecLog CFG make ${JOBSFLAGS} configure-libdecnumber
> + CT_DoExecLog ALL make ${JOBSFLAGS} -C libdecnumber libdecnumber.a
> + fi
> + # HACK: gcc-4.8 uses libbacktrace to make libgcc.mvars, so make it here.
> + if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/libbacktrace" ]; then
> + CT_DoExecLog CFG make ${JOBSFLAGS} configure-libbacktrace
> + CT_DoExecLog ALL make ${JOBSFLAGS} -C libbacktrace
> + fi
> +
> + # Starting with GCC 4.3, libgcc.mk is no longer built,
> + # and libgcc.mvars is used instead.
> +
> + if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
> + libgcc_rule="libgcc.mvars"
> + core_targets=( gcc target-libgcc )
> + else
> + libgcc_rule="libgcc.mk"
> + core_targets=( gcc )
> + fi
> +
> + # On bare metal and canadian build the host-compiler is used when
> + # actually the build-system compiler is required. Choose the correct
> + # compilers for canadian build and use the defaults on other
> + # configurations.
> + if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then
> + repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \
> + CXX_FOR_BUILD=${CT_BUILD}-g++ \
> + GCC_FOR_TARGET=${CT_TARGET}-gcc"
> + else
> + repair_cc=""
> + fi
> +
> + CT_DoExecLog ALL make ${JOBSFLAGS} -C gcc ${libgcc_rule} \
> + ${repair_cc}
> + sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule}
> + else # build_libgcc
> + core_targets=( gcc )
> + fi # ! build libgcc
> + if [ "${build_libstdcxx}" = "yes" \
> + -a "${CT_CC_LANG_CXX}" = "y" \
> + ]; then
> + core_targets+=( target-libstdc++-v3 )
> + fi
> +
> + CT_DoLog EXTRA "Building core C gcc compiler"
> + CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/all-}"
> +
> + CT_DoLog EXTRA "Installing core C gcc compiler"
> + CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/install-}"
> +
> + if [ "${build_manuals}" = "yes" ]; then
> + CT_DoLog EXTRA "Building the gcc manuals"
> + CT_DoExecLog ALL make pdf html
> + CT_DoLog EXTRA "Installing the gcc manuals"
> + CT_DoExecLog ALL make install-{pdf,html}-gcc
> + fi
> +
> + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able
> + # to call the C compiler with the same, somewhat canonical name.
> + # check whether compiler has an extension
> + file="$( ls -1 "${prefix}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )"
> + [ -z "${file}" ] || ext=".${file##*.}"
> + CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}"
> +
> + if [ "${CT_MULTILIB}" = "y" ]; then
> + if [ "${CT_CANADIAN}" = "y" -a "${mode}" = "baremetal" \
> + -a "${host}" = "${CT_HOST}" ]; then
> + CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly"
> + else
> + multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \
> + |tail -n +2 ) )
> + if [ ${#multilibs[@]} -ne 0 ]; then
> + CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):"
> + for i in "${multilibs[@]}"; do
> + dir="${i%%;*}"
> + flags="${i#*;}"
> + CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/"
> + done
> + else
> + CT_DoLog WARN "gcc configured for multilib, but none available"
> + fi
> + fi
> + fi
> +}
> +
> +#------------------------------------------------------------------------------
> +# Build complete gcc to run on build
> +do_gcc_for_build() {
> + local -a build_final_opts
> + local build_final_backend
> +
> + # In case we're canadian or cross-native, it seems that a
> + # real, complete compiler is needed?!? WTF? Sigh...
> + # Otherwise, there is nothing to do.
> + case "${CT_TOOLCHAIN_TYPE}" in
> + native|cross) return 0;;
> + esac
> +
> + build_final_opts+=( "host=${CT_BUILD}" )
> + build_final_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
> + build_final_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
> + build_final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
> + if [ "${CT_BARE_METAL}" = "y" ]; then
> + # In the tests I've done, bare-metal was not impacted by the
> + # lack of such a compiler, but better safe than sorry...
> + build_final_opts+=( "mode=baremetal" )
> + build_final_opts+=( "build_libgcc=yes" )
> + build_final_opts+=( "build_libstdcxx=yes" )
> + if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
> + build_final_opts+=( "build_staticlinked=yes" )
> + fi
> + build_final_backend=do_gcc_core_backend
> + else
> + build_final_backend=do_gcc_backend
> + fi
> +
> + CT_DoStep INFO "Installing final gcc compiler for build"
> + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-build-${CT_BUILD}"
> +
> + "${build_final_backend}" "${build_final_opts[@]}"
> +
> + CT_Popd
> + CT_EndStep
> +}
> +
> +#------------------------------------------------------------------------------
> +# Build final gcc to run on host
> +do_gcc_for_host() {
> + local -a final_opts
> + local final_backend
> +
> + final_opts+=( "host=${CT_HOST}" )
> + final_opts+=( "prefix=${CT_PREFIX_DIR}" )
> + final_opts+=( "complibs=${CT_HOST_COMPLIBS_DIR}" )
> + final_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
> + final_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
> + final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
> + if [ "${CT_BUILD_MANUALS}" = "y" ]; then
> + final_opts+=( "build_manuals=yes" )
> + fi
> + if [ "${CT_BARE_METAL}" = "y" ]; then
> + final_opts+=( "mode=baremetal" )
> + final_opts+=( "build_libgcc=yes" )
> + final_opts+=( "build_libstdcxx=yes" )
> + if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
> + final_opts+=( "build_staticlinked=yes" )
> + fi
> + final_backend=do_gcc_core_backend
> + else
> + final_backend=do_gcc_backend
> + fi
> +
> + CT_DoStep INFO "Installing final gcc compiler"
> + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final"
> +
> + "${final_backend}" "${final_opts[@]}"
> +
> + CT_Popd
> + CT_EndStep
> +}
> +
> +#------------------------------------------------------------------------------
> +# Build the final gcc
> +# Usage: do_gcc_backend param=value [...]
> +# Parameter : Definition : Type : Default
> +# host : the host we run onto : tuple : (none)
> +# prefix : the runtime prefix : dir : (none)
> +# complibs : the companion libraries prefix : dir : (none)
> +# cflags : cflags to use : string : (empty)
> +# ldflags : ldflags to use : string : (empty)
> +# lang_list : the list of languages to build : string : (empty)
> +# build_manuals : whether to build manuals or not : bool : no
> +do_gcc_backend() {
> + local host
> + local prefix
> + local complibs
> + local cflags
> + local ldflags
> + local lang_list
> + local build_manuals
> + local -a host_libstdcxx_flags
> + local -a extra_config
> + local -a final_LDFLAGS
> + local tmp
> + local arg
> + local exeext
> +
> + for arg in "$@"; do
> + eval "${arg// /\\ }"
> + done
> +
> + CT_DoLog EXTRA "Configuring final gcc compiler"
> +
> + # Enable selected languages
> + extra_config+=("--enable-languages=${lang_list}")
> +
> + for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
> + eval tmp="\${CT_ARCH_WITH_${tmp}}"
> + if [ -n "${tmp}" ]; then
> + extra_config+=("${tmp}")
> + fi
> + done
> +
> + [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared")
> + if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then
> + extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
> + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
> + fi
> + case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in
> + y) extra_config+=("--enable-sjlj-exceptions");;
> + m) ;;
> + "") extra_config+=("--disable-sjlj-exceptions");;
> + esac
> + if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
> + extra_config+=("--enable-__cxa_atexit")
> + else
> + extra_config+=("--disable-__cxa_atexit")
> + fi
> + if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then
> + extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
> + fi
> + if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then
> + extra_config+=(--enable-libmudflap)
> + else
> + extra_config+=(--disable-libmudflap)
> + fi
> + if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then
> + extra_config+=(--enable-libgomp)
> + else
> + extra_config+=(--disable-libgomp)
> + fi
> + if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
> + extra_config+=(--enable-libssp)
> + else
> + extra_config+=(--disable-libssp)
> + fi
> + if [ "${CT_CC_GCC_HAS_LIBQUADMATH}" = "y" ]; then
> + if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then
> + extra_config+=(--enable-libquadmath)
> + extra_config+=(--enable-libquadmath-support)
> + else
> + extra_config+=(--disable-libquadmath)
> + extra_config+=(--disable-libquadmath-support)
> + fi
> + fi
> +
> + final_LDFLAGS+=("${ldflags}")
> +
> + # *** WARNING ! ***
> + # Keep this full if-else-if-elif-fi-fi block in sync
> + # with the same block in do_gcc_core, above.
> + if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
> + final_LDFLAGS+=("-static")
> + host_libstdcxx_flags+=("-static-libgcc")
> + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
> + host_libstdcxx_flags+=("-lm")
> + # Companion libraries are build static (eg !shared), so
> + # the libstdc++ is not pulled automatically, although it
> + # is needed. Shoe-horn it in our LDFLAGS
> + # Ditto libm on some Fedora boxen
> + final_LDFLAGS+=("-lstdc++")
> + final_LDFLAGS+=("-lm")
> + else
> + if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
> + # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
> + # build script
> + # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
> + # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
> + host_libstdcxx_flags+=("-static-libgcc")
> + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
> + host_libstdcxx_flags+=("-lm")
> + elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then
> + # When companion libraries are build static (eg !shared),
> + # the libstdc++ is not pulled automatically, although it
> + # is needed. Shoe-horn it in our LDFLAGS
> + # Ditto libm on some Fedora boxen
> + final_LDFLAGS+=("-lstdc++")
> + final_LDFLAGS+=("-lm")
> + fi
> + fi
> +
> + if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then
> + extra_config+=("--with-gmp=${complibs}")
> + extra_config+=("--with-mpfr=${complibs}")
> + fi
> + if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
> + extra_config+=("--with-mpc=${complibs}")
> + fi
> + if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
> + if [ "${CT_PPL}" = "y" ]; then
> + extra_config+=("--with-ppl=${complibs}")
> + # With PPL 0.11+, also pull libpwl if needed
> + if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
> + host_libstdcxx_flags+=("-L${complibs}/lib")
> + host_libstdcxx_flags+=("-lpwl")
> + fi
> + fi
> + if [ "${CT_ISL}" = "y" ]; then
> + extra_config+=("--with-isl=${complibs}")
> + fi
> + extra_config+=("--with-cloog=${complibs}")
> + elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
> + extra_config+=("--with-ppl=no")
> + extra_config+=("--with-isl=no")
> + extra_config+=("--with-cloog=no")
> + fi
> + if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
> + extra_config+=("--with-libelf=${complibs}")
> + elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then
> + extra_config+=("--with-libelf=no")
> + fi
> +
> + if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
> + extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
> + fi
> +
> + if [ "${CT_THREADS}" = "none" ]; then
> + extra_config+=("--disable-threads")
> + if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then
> + CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y"
> + extra_config+=("--disable-libgomp")
> + fi
> + else
> + if [ "${CT_THREADS}" = "win32" ]; then
> + extra_config+=("--enable-threads=win32")
> + extra_config+=("--disable-win32-registry")
> + else
> + extra_config+=("--enable-threads=posix")
> + fi
> + fi
> +
> + if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
> + extra_config+=("--enable-target-optspace")
> + fi
> + if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then
> + extra_config+=("--disable-libstdcxx-pch")
> + fi
> +
> + case "${CT_CC_GCC_LDBL_128}" in
> + y) extra_config+=("--with-long-double-128");;
> + m) ;;
> + "") extra_config+=("--without-long-double-128");;
> + esac
> +
> + if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
> + extra_config+=( --enable-linker-build-id )
> + fi
> +
> + case "${CT_CC_GCC_LNK_HASH_STYLE}" in
> + "") ;;
> + *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
> + esac
> +
> + if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then
> + extra_config+=( --enable-plugin )
> + fi
> + if [ "${CT_CC_GCC_GOLD}" = "y" ]; then
> + extra_config+=( --enable-gold )
> + fi
> +
> + case "${CT_ARCH}" in
> + mips)
> + case "${CT_CC_GCC_mips_llsc}" in
> + y) extra_config+=( --with-llsc );;
> + m) ;;
> + *) extra_config+=( --without-llsc );;
> + esac
> + case "${CT_CC_GCC_mips_synci}" in
> + y) extra_config+=( --with-synci );;
> + m) ;;
> + *) extra_config+=( --without-synci );;
> + esac
> + if [ "${CT_CC_GCC_mips_plt}" ]; then
> + extra_config+=( --with-mips-plt )
> + fi
> + ;; # ARCH is mips
> + esac
> +
> + [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls")
> +
> + if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
> + extra_config+=("--with-system-zlib")
> + fi
> +
> + if [ "${CT_MULTILIB}" = "y" ]; then
> + extra_config+=("--enable-multilib")
> + else
> + extra_config+=("--disable-multilib")
> + fi
> +
> + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
> +
> + CT_DoExecLog CFG \
> + CC_FOR_BUILD="${CT_BUILD}-gcc" \
> + CFLAGS_FOR_BUILD="${CT_EXTRA_CFLAGS_FOR_BUILD-${cflags}}" \
> + CFLAGS="${cflags}" \
> + CXXFLAGS="${cflags}" \
> + LDFLAGS="${final_LDFLAGS[*]}" \
> + CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
> + CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
> + LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
> + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/configure" \
> + --build=${CT_BUILD} \
> + --host=${host} \
> + --target=${CT_TARGET} \
> + --prefix="${prefix}" \
> + ${CC_SYSROOT_ARG} \
> + "${extra_config[@]}" \
> + --with-local-prefix="${CT_SYSROOT_DIR}" \
> + --enable-c99 \
> + --enable-long-long \
> + "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}"
> +
> + if [ "${CT_CANADIAN}" = "y" ]; then
> + CT_DoLog EXTRA "Building libiberty"
> + CT_DoExecLog ALL make ${JOBSFLAGS} all-build-libiberty
> + fi
> +
> + CT_DoLog EXTRA "Building final gcc compiler"
> + CT_DoExecLog ALL make ${JOBSFLAGS} all
> +
> + CT_DoLog EXTRA "Installing final gcc compiler"
> + CT_DoExecLog ALL make ${JOBSFLAGS} install
> +
> + if [ "${build_manuals}" = "yes" ]; then
> + CT_DoLog EXTRA "Building the gcc manuals"
> + CT_DoExecLog ALL make pdf html
> + CT_DoLog EXTRA "Installing the gcc manuals"
> + CT_DoExecLog ALL make install-{pdf,html}-gcc
> + fi
> +
> + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able
> + # to call the C compiler with the same, somewhat canonical name.
> + # check whether compiler has an extension
> + file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )"
> + [ -z "${file}" ] || ext=".${file##*.}"
> + CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${CT_PREFIX_DIR}/bin/${CT_TARGET}-cc${ext}"
> +
> + if [ "${CT_MULTILIB}" = "y" ]; then
> + if [ "${CT_CANADIAN}" = "y" ]; then
> + CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly"
> + else
> + multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \
> + |tail -n +2 ) )
> + if [ ${#multilibs[@]} -ne 0 ]; then
> + CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):"
> + for i in "${multilibs[@]}"; do
> + dir="${i%%;*}"
> + flags="${i#*;}"
> + CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/"
> + done
> + else
> + CT_DoLog WARN "gcc configured for multilib, but none available"
> + fi
> + fi
> + fi
> +}
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/cc/gcc.sh
> --- a/scripts/build/cc/gcc.sh Sat Nov 16 18:14:45 2013 +0100
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,869 +0,0 @@
> -# This file adds the function to build the gcc C compiler
> -# Copyright 2007 Yann E. MORIN
> -# Licensed under the GPL v2. See COPYING in the root of this package
> -
> -# Download gcc
> -do_cc_get() {
> - local linaro_version
> - local linaro_series
> - local linaro_base_url="http://launchpad.net/gcc-linaro"
> -
> - if [ "${CT_CC_CUSTOM}" = "y" ]; then
> - CT_GetCustom "gcc" "${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}"
> - else
> - # Account for the Linaro versioning
> - linaro_version="$( echo "${CT_CC_VERSION}" \
> - |sed -r -e 's/^linaro-//;' \
> - )"
> - linaro_series="$( echo "${linaro_version}" \
> - |sed -r -e 's/-.*//;' \
> - )"
> -
> - # Ah! gcc folks are kind of 'different': they store the tarballs in
> - # subdirectories of the same name!
> - # Arrgghh! Some of those versions does not follow this convention:
> - # gcc-3.3.3 lives in releases/gcc-3.3.3, while gcc-2.95.* isn't in a
> - # subdirectory!
> - CT_GetFile "gcc-${CT_CC_VERSION}" \
> - {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_VERSION}} \
> - ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_VERSION} \
> - ftp://ftp.uvsq.fr/pub/gcc/snapshots/${CT_CC_VERSION} \
> - "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
> -
> - fi # ! custom location
> - # Starting with GCC 4.3, ecj is used for Java, and will only be
> - # built if the configure script finds ecj.jar at the top of the
> - # GCC source tree, which will not be there unless we get it and
> - # put it there ourselves
> - if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then
> - CT_GetFile ecj-latest .jar ftp://gcc.gnu.org/pub/java \
> - ftp://sourceware.org/pub/java
> - fi
> -}
> -
> -# Extract gcc
> -do_cc_extract() {
> - # If using custom directory location, nothing to do
> - if [ "${CT_CC_CUSTOM}" = "y" \
> - -a -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
> - return 0
> - fi
> -
> - CT_Extract "gcc-${CT_CC_VERSION}"
> - CT_Patch "gcc" "${CT_CC_VERSION}"
> -
> - # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
> - if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \
> - -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar" \
> - ]; then
> - CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar"
> - fi
> -}
> -
> -#------------------------------------------------------------------------------
> -# This function builds up the set of languages to enable
> -# No argument expected, returns the comma-separated language list on stdout
> -cc_gcc_lang_list() {
> - local lang_list
> -
> - lang_list="c"
> - [ "${CT_CC_LANG_CXX}" = "y" ] && lang_list+=",c++"
> - [ "${CT_CC_LANG_FORTRAN}" = "y" ] && lang_list+=",fortran"
> - [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada"
> - [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java"
> - [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc"
> - [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++"
> - [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go"
> - lang_list+="${CT_CC_LANG_OTHERS:+,${CT_CC_LANG_OTHERS}}"
> -
> - printf "%s" "${lang_list}"
> -}
> -
> -#------------------------------------------------------------------------------
> -# Core gcc pass 1
> -do_cc_core_pass_1() {
> - local -a core_opts
> -
> - if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then
> - return 0
> - fi
> -
> - core_opts+=( "mode=static" )
> - core_opts+=( "host=${CT_BUILD}" )
> - core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
> - core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
> - core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
> - core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
> - core_opts+=( "lang_list=c" )
> -
> - CT_DoStep INFO "Installing pass-1 core C compiler"
> - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-core-pass-1"
> -
> - do_cc_core_backend "${core_opts[@]}"
> -
> - CT_Popd
> - CT_EndStep
> -}
> -
> -# Core gcc pass 2
> -do_cc_core_pass_2() {
> - local -a core_opts
> -
> - if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then
> - return 0
> - fi
> -
> - # Common options:
> - core_opts+=( "host=${CT_BUILD}" )
> - core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
> - core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
> - core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
> - core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
> - core_opts+=( "lang_list=c" )
> -
> - # Different conditions are at stake here:
> - # - In case the threading model is NPTL, we need a shared-capable core
> - # gcc; in all other cases, we need a static-only core gcc.
> - # - In case the threading model is NPTL or win32, or gcc is 4.3 or
> - # later, we need to build libgcc
> - case "${CT_THREADS}" in
> - nptl)
> - core_opts+=( "mode=shared" )
> - core_opts+=( "build_libgcc=yes" )
> - ;;
> - win32)
> - core_opts+=( "mode=static" )
> - core_opts+=( "build_libgcc=yes" )
> - ;;
> - *)
> - core_opts+=( "mode=static" )
> - if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
> - core_opts+=( "build_libgcc=yes" )
> - fi
> - ;;
> - esac
> -
> - CT_DoStep INFO "Installing pass-2 core C compiler"
> - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-core-pass-2"
> -
> - do_cc_core_backend "${core_opts[@]}"
> -
> - CT_Popd
> - CT_EndStep
> -}
> -
> -#------------------------------------------------------------------------------
> -# Build core gcc
> -# This function is used to build the core C compiler.
> -# Usage: do_cc_core_backend param=value [...]
> -# Parameter : Definition : Type : Default
> -# mode : build a 'static', 'shared' or 'baremetal' : string : (none)
> -# host : the machine the core will run on : tuple : (none)
> -# prefix : dir prefix to install into : dir : (none)
> -# complibs : dir where complibs are isntalled : dir : (none)
> -# lang_list : the list of languages to build : string : (empty)
> -# build_libgcc : build libgcc or not : bool : no
> -# build_libstdcxx : build libstdc++ or not : bool : no
> -# build_staticlinked : build statically linked or not : bool : no
> -# build_manuals : whether to build manuals or not : bool : no
> -# cflags : cflags to use : string : (empty)
> -# ldflags : ldflags to use : string : (empty)
> -# Usage: do_cc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no]
> -do_cc_core_backend() {
> - local mode
> - local build_libgcc=no
> - local build_libstdcxx=no
> - local build_staticlinked=no
> - local build_manuals=no
> - local host
> - local prefix
> - local complibs
> - local lang_list
> - local cflags
> - local ldflags
> - local tmp
> - local -a host_libstdcxx_flags
> - local -a extra_config
> - local -a core_LDFLAGS
> - local -a core_targets
> - local arg
> -
> - for arg in "$@"; do
> - eval "${arg// /\\ }"
> - done
> -
> - CT_DoLog EXTRA "Configuring gcc"
> -
> - case "${mode}" in
> - static)
> - extra_config+=("--with-newlib")
> - extra_config+=("--enable-threads=no")
> - extra_config+=("--disable-shared")
> - copy_headers=y # For baremetal, as there's no headers to copy,
> - # we copy an empty directory. So, who cares?
> - ;;
> - shared)
> - extra_config+=("--enable-shared")
> - copy_headers=y
> - ;;
> - baremetal)
> - extra_config+=("--with-newlib")
> - extra_config+=("--enable-threads=no")
> - extra_config+=("--disable-shared")
> - copy_headers=n
> - ;;
> - *)
> - CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'"
> - ;;
> - esac
> -
> - if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then
> - # Bare metal delivers the core compiler as final compiler, so add version info and bugurl
> - extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
> - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
> - fi
> -
> - if [ "${copy_headers}" = "y" ]; then
> - CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2"
> - CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
> - fi
> -
> - for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
> - eval tmp="\${CT_ARCH_WITH_${tmp}}"
> - if [ -n "${tmp}" ]; then
> - extra_config+=("${tmp}")
> - fi
> - done
> - if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
> - extra_config+=("--enable-__cxa_atexit")
> - else
> - extra_config+=("--disable-__cxa_atexit")
> - fi
> -
> - core_LDFLAGS+=("${ldflags}")
> -
> - # *** WARNING ! ***
> - # Keep this full if-else-if-elif-fi-fi block in sync
> - # with the same block in do_cc, below.
> - if [ "${build_staticlinked}" = "yes" ]; then
> - core_LDFLAGS+=("-static")
> - host_libstdcxx_flags+=("-static-libgcc")
> - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
> - host_libstdcxx_flags+=("-lm")
> - # Companion libraries are build static (eg !shared), so
> - # the libstdc++ is not pulled automatically, although it
> - # is needed. Shoe-horn it in our LDFLAGS
> - # Ditto libm on some Fedora boxen
> - core_LDFLAGS+=("-lstdc++")
> - core_LDFLAGS+=("-lm")
> - else
> - if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then
> - # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
> - # build script
> - # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
> - # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
> - host_libstdcxx_flags+=("-static-libgcc")
> - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
> - host_libstdcxx_flags+=("-lm")
> - elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then
> - # When companion libraries are build static (eg !shared),
> - # the libstdc++ is not pulled automatically, although it
> - # is needed. Shoe-horn it in our LDFLAGS
> - # Ditto libm on some Fedora boxen
> - core_LDFLAGS+=("-lstdc++")
> - core_LDFLAGS+=("-lm")
> - fi
> - fi
> -
> - if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then
> - extra_config+=("--with-gmp=${complibs}")
> - extra_config+=("--with-mpfr=${complibs}")
> - fi
> - if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
> - extra_config+=("--with-mpc=${complibs}")
> - fi
> - if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
> - if [ "${CT_PPL}" = "y" ]; then
> - extra_config+=("--with-ppl=${complibs}")
> - # With PPL 0.11+, also pull libpwl if needed
> - if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
> - host_libstdcxx_flags+=("-L${complibs}/lib")
> - host_libstdcxx_flags+=("-lpwl")
> - fi
> - fi
> - if [ "${CT_ISL}" = "y" ]; then
> - extra_config+=("--with-isl=${complibs}")
> - fi
> - extra_config+=("--with-cloog=${complibs}")
> - elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
> - extra_config+=("--with-ppl=no")
> - extra_config+=("--with-isl=no")
> - extra_config+=("--with-cloog=no")
> - fi
> - if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
> - extra_config+=("--with-libelf=${complibs}")
> - extra_config+=("--enable-lto")
> - elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then
> - extra_config+=("--with-libelf=no")
> - extra_config+=("--disable-lto")
> - fi
> -
> - if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
> - extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
> - fi
> -
> - if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
> - extra_config+=("--enable-target-optspace")
> - fi
> -
> - case "${CT_CC_GCC_LDBL_128}" in
> - y) extra_config+=("--with-long-double-128");;
> - m) ;;
> - "") extra_config+=("--without-long-double-128");;
> - esac
> -
> - if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
> - extra_config+=( --enable-linker-build-id )
> - fi
> -
> - case "${CT_CC_GCC_LNK_HASH_STYLE}" in
> - "") ;;
> - *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
> - esac
> -
> - case "${CT_ARCH}" in
> - mips)
> - case "${CT_CC_GCC_mips_llsc}" in
> - y) extra_config+=( --with-llsc );;
> - m) ;;
> - *) extra_config+=( --without-llsc );;
> - esac
> - case "${CT_CC_GCC_mips_synci}" in
> - y) extra_config+=( --with-synci );;
> - m) ;;
> - *) extra_config+=( --without-synci );;
> - esac
> - if [ "${CT_CC_GCC_mips_plt}" ]; then
> - extra_config+=( --with-mips-plt )
> - fi
> - ;; # ARCH is mips
> - esac
> -
> - extra_config+=(--disable-libgomp)
> - extra_config+=(--disable-libmudflap)
> -
> - [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls")
> -
> - [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ] && extra_config+=("--disable-libstdcxx-pch")
> -
> - if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
> - extra_config+=("--with-system-zlib")
> - fi
> -
> - if [ "${CT_MULTILIB}" = "y" ]; then
> - extra_config+=("--enable-multilib")
> - else
> - extra_config+=("--disable-multilib")
> - fi
> -
> - CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
> -
> - # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
> - CT_DoExecLog CFG \
> - CC_FOR_BUILD="${CT_BUILD}-gcc" \
> - CFLAGS="${cflags}" \
> - LDFLAGS="${core_LDFLAGS[*]}" \
> - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \
> - --build=${CT_BUILD} \
> - --host=${host} \
> - --target=${CT_TARGET} \
> - --prefix="${prefix}" \
> - --with-local-prefix="${CT_SYSROOT_DIR}" \
> - --disable-libmudflap \
> - ${CC_CORE_SYSROOT_ARG} \
> - "${extra_config[@]}" \
> - --enable-languages="${lang_list}" \
> - "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}"
> -
> - if [ "${build_libgcc}" = "yes" ]; then
> - # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or
> - # gcc/config/t-libunwind so -lc is removed from the link for
> - # libgcc_s.so, as we do not have a target -lc yet.
> - # This is not as ugly as it appears to be ;-) All symbols get resolved
> - # during the glibc build, and we provide a proper libgcc_s.so for the
> - # cross toolchain during the final gcc build.
> - #
> - # As we cannot modify the source tree, nor override SHLIB_LC itself
> - # during configure or make, we have to edit the resultant
> - # gcc/libgcc.mk itself to remove -lc from the link.
> - # This causes us to have to jump through some hoops...
> - #
> - # To produce libgcc.mk to edit we firstly require libiberty.a,
> - # so we configure then build it.
> - # Next we have to configure gcc, create libgcc.mk then edit it...
> - # So much easier if we just edit the source tree, but hey...
> - if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then
> - CT_DoExecLog CFG make ${JOBSFLAGS} configure-libiberty
> - CT_DoExecLog ALL make ${JOBSFLAGS} -C libiberty libiberty.a
> - CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp
> - CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp
> - else
> - CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp configure-build-libiberty
> - CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp all-build-libiberty
> - fi
> - # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here.
> - if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libdecnumber" ]; then
> - CT_DoExecLog CFG make ${JOBSFLAGS} configure-libdecnumber
> - CT_DoExecLog ALL make ${JOBSFLAGS} -C libdecnumber libdecnumber.a
> - fi
> - # HACK: gcc-4.8 uses libbacktrace to make libgcc.mvars, so make it here.
> - if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libbacktrace" ]; then
> - CT_DoExecLog CFG make ${JOBSFLAGS} configure-libbacktrace
> - CT_DoExecLog ALL make ${JOBSFLAGS} -C libbacktrace
> - fi
> -
> - # Starting with GCC 4.3, libgcc.mk is no longer built,
> - # and libgcc.mvars is used instead.
> -
> - if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
> - libgcc_rule="libgcc.mvars"
> - core_targets=( gcc target-libgcc )
> - else
> - libgcc_rule="libgcc.mk"
> - core_targets=( gcc )
> - fi
> -
> - # On bare metal and canadian build the host-compiler is used when
> - # actually the build-system compiler is required. Choose the correct
> - # compilers for canadian build and use the defaults on other
> - # configurations.
> - if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then
> - repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \
> - CXX_FOR_BUILD=${CT_BUILD}-g++ \
> - GCC_FOR_TARGET=${CT_TARGET}-gcc"
> - else
> - repair_cc=""
> - fi
> -
> - CT_DoExecLog ALL make ${JOBSFLAGS} -C gcc ${libgcc_rule} \
> - ${repair_cc}
> - sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule}
> - else # build_libgcc
> - core_targets=( gcc )
> - fi # ! build libgcc
> - if [ "${build_libstdcxx}" = "yes" \
> - -a "${CT_CC_LANG_CXX}" = "y" \
> - ]; then
> - core_targets+=( target-libstdc++-v3 )
> - fi
> -
> - CT_DoLog EXTRA "Building gcc"
> - CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/all-}"
> -
> - CT_DoLog EXTRA "Installing gcc"
> - CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/install-}"
> -
> - if [ "${build_manuals}" = "yes" ]; then
> - CT_DoLog EXTRA "Building the GCC manuals"
> - CT_DoExecLog ALL make pdf html
> - CT_DoLog EXTRA "Installing the GCC manuals"
> - CT_DoExecLog ALL make install-{pdf,html}-gcc
> - fi
> -
> - # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able
> - # to call the C compiler with the same, somewhat canonical name.
> - # check whether compiler has an extension
> - file="$( ls -1 "${prefix}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )"
> - [ -z "${file}" ] || ext=".${file##*.}"
> - CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}"
> -
> - if [ "${CT_MULTILIB}" = "y" ]; then
> - if [ "${CT_CANADIAN}" = "y" -a "${mode}" = "baremetal" \
> - -a "${host}" = "${CT_HOST}" ]; then
> - CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly"
> - else
> - multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \
> - |tail -n +2 ) )
> - if [ ${#multilibs[@]} -ne 0 ]; then
> - CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):"
> - for i in "${multilibs[@]}"; do
> - dir="${i%%;*}"
> - flags="${i#*;}"
> - CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/"
> - done
> - else
> - CT_DoLog WARN "gcc configured for multilib, but none available"
> - fi
> - fi
> - fi
> -}
> -
> -#------------------------------------------------------------------------------
> -# Build complete gcc to run on build
> -do_cc_for_build() {
> - local -a build_final_opts
> - local build_final_backend
> -
> - # In case we're canadian or cross-native, it seems that a
> - # real, complete compiler is needed?!? WTF? Sigh...
> - # Otherwise, there is nothing to do.
> - case "${CT_TOOLCHAIN_TYPE}" in
> - native|cross) return 0;;
> - esac
> -
> - build_final_opts+=( "host=${CT_BUILD}" )
> - build_final_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
> - build_final_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
> - build_final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
> - if [ "${CT_BARE_METAL}" = "y" ]; then
> - # In the tests I've done, bare-metal was not impacted by the
> - # lack of such a compiler, but better safe than sorry...
> - build_final_opts+=( "mode=baremetal" )
> - build_final_opts+=( "build_libgcc=yes" )
> - build_final_opts+=( "build_libstdcxx=yes" )
> - if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
> - build_final_opts+=( "build_staticlinked=yes" )
> - fi
> - build_final_backend=do_cc_core_backend
> - else
> - build_final_backend=do_cc_backend
> - fi
> -
> - CT_DoStep INFO "Installing final compiler for build"
> - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-final-build-${CT_BUILD}"
> -
> - "${build_final_backend}" "${build_final_opts[@]}"
> -
> - CT_Popd
> - CT_EndStep
> -}
> -
> -#------------------------------------------------------------------------------
> -# Build final gcc to run on host
> -do_cc_for_host() {
> - local -a final_opts
> - local final_backend
> -
> - final_opts+=( "host=${CT_HOST}" )
> - final_opts+=( "prefix=${CT_PREFIX_DIR}" )
> - final_opts+=( "complibs=${CT_HOST_COMPLIBS_DIR}" )
> - final_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
> - final_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
> - final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
> - if [ "${CT_BUILD_MANUALS}" = "y" ]; then
> - final_opts+=( "build_manuals=yes" )
> - fi
> - if [ "${CT_BARE_METAL}" = "y" ]; then
> - final_opts+=( "mode=baremetal" )
> - final_opts+=( "build_libgcc=yes" )
> - final_opts+=( "build_libstdcxx=yes" )
> - if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
> - final_opts+=( "build_staticlinked=yes" )
> - fi
> - final_backend=do_cc_core_backend
> - else
> - final_backend=do_cc_backend
> - fi
> -
> - CT_DoStep INFO "Installing final compiler"
> - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-final"
> -
> - "${final_backend}" "${final_opts[@]}"
> -
> - CT_Popd
> - CT_EndStep
> -}
> -
> -#------------------------------------------------------------------------------
> -# Build the final gcc
> -# Usage: do_cc_backend param=value [...]
> -# Parameter : Definition : Type : Default
> -# host : the host we run onto : tuple : (none)
> -# prefix : the runtime prefix : dir : (none)
> -# complibs : the companion libraries prefix : dir : (none)
> -# cflags : cflags to use : string : (empty)
> -# ldflags : ldflags to use : string : (empty)
> -# lang_list : the list of languages to build : string : (empty)
> -# build_manuals : whether to build manuals or not : bool : no
> -do_cc_backend() {
> - local host
> - local prefix
> - local complibs
> - local cflags
> - local ldflags
> - local lang_list
> - local build_manuals
> - local -a host_libstdcxx_flags
> - local -a extra_config
> - local -a final_LDFLAGS
> - local tmp
> - local arg
> -
> - for arg in "$@"; do
> - eval "${arg// /\\ }"
> - done
> -
> - CT_DoLog EXTRA "Configuring gcc"
> -
> - # Enable selected languages
> - extra_config+=("--enable-languages=${lang_list}")
> -
> - for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
> - eval tmp="\${CT_ARCH_WITH_${tmp}}"
> - if [ -n "${tmp}" ]; then
> - extra_config+=("${tmp}")
> - fi
> - done
> -
> - [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared")
> - if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then
> - extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
> - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
> - fi
> - case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in
> - y) extra_config+=("--enable-sjlj-exceptions");;
> - m) ;;
> - "") extra_config+=("--disable-sjlj-exceptions");;
> - esac
> - if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
> - extra_config+=("--enable-__cxa_atexit")
> - else
> - extra_config+=("--disable-__cxa_atexit")
> - fi
> - if [ -n "${CT_CC_ENABLE_CXX_FLAGS}" ]; then
> - extra_config+=("--enable-cxx-flags=${CT_CC_ENABLE_CXX_FLAGS}")
> - fi
> - if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then
> - extra_config+=(--enable-libmudflap)
> - else
> - extra_config+=(--disable-libmudflap)
> - fi
> - if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then
> - extra_config+=(--enable-libgomp)
> - else
> - extra_config+=(--disable-libgomp)
> - fi
> - if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
> - extra_config+=(--enable-libssp)
> - else
> - extra_config+=(--disable-libssp)
> - fi
> - if [ "${CT_CC_GCC_HAS_LIBQUADMATH}" = "y" ]; then
> - if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then
> - extra_config+=(--enable-libquadmath)
> - extra_config+=(--enable-libquadmath-support)
> - else
> - extra_config+=(--disable-libquadmath)
> - extra_config+=(--disable-libquadmath-support)
> - fi
> - fi
> -
> - final_LDFLAGS+=("${ldflags}")
> -
> - # *** WARNING ! ***
> - # Keep this full if-else-if-elif-fi-fi block in sync
> - # with the same block in do_cc_core, above.
> - if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
> - final_LDFLAGS+=("-static")
> - host_libstdcxx_flags+=("-static-libgcc")
> - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
> - host_libstdcxx_flags+=("-lm")
> - # Companion libraries are build static (eg !shared), so
> - # the libstdc++ is not pulled automatically, although it
> - # is needed. Shoe-horn it in our LDFLAGS
> - # Ditto libm on some Fedora boxen
> - final_LDFLAGS+=("-lstdc++")
> - final_LDFLAGS+=("-lm")
> - else
> - if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then
> - # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
> - # build script
> - # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
> - # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
> - host_libstdcxx_flags+=("-static-libgcc")
> - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
> - host_libstdcxx_flags+=("-lm")
> - elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then
> - # When companion libraries are build static (eg !shared),
> - # the libstdc++ is not pulled automatically, although it
> - # is needed. Shoe-horn it in our LDFLAGS
> - # Ditto libm on some Fedora boxen
> - final_LDFLAGS+=("-lstdc++")
> - final_LDFLAGS+=("-lm")
> - fi
> - fi
> -
> - if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then
> - extra_config+=("--with-gmp=${complibs}")
> - extra_config+=("--with-mpfr=${complibs}")
> - fi
> - if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
> - extra_config+=("--with-mpc=${complibs}")
> - fi
> - if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
> - if [ "${CT_PPL}" = "y" ]; then
> - extra_config+=("--with-ppl=${complibs}")
> - # With PPL 0.11+, also pull libpwl if needed
> - if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
> - host_libstdcxx_flags+=("-L${complibs}/lib")
> - host_libstdcxx_flags+=("-lpwl")
> - fi
> - fi
> - if [ "${CT_ISL}" = "y" ]; then
> - extra_config+=("--with-isl=${complibs}")
> - fi
> - extra_config+=("--with-cloog=${complibs}")
> - elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
> - extra_config+=("--with-ppl=no")
> - extra_config+=("--with-isl=no")
> - extra_config+=("--with-cloog=no")
> - fi
> - if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
> - extra_config+=("--with-libelf=${complibs}")
> - elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then
> - extra_config+=("--with-libelf=no")
> - fi
> -
> - if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
> - extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
> - fi
> -
> - if [ "${CT_THREADS}" = "none" ]; then
> - extra_config+=("--disable-threads")
> - if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then
> - CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y"
> - extra_config+=("--disable-libgomp")
> - fi
> - else
> - if [ "${CT_THREADS}" = "win32" ]; then
> - extra_config+=("--enable-threads=win32")
> - extra_config+=("--disable-win32-registry")
> - else
> - extra_config+=("--enable-threads=posix")
> - fi
> - fi
> -
> - if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
> - extra_config+=("--enable-target-optspace")
> - fi
> - if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then
> - extra_config+=("--disable-libstdcxx-pch")
> - fi
> -
> - case "${CT_CC_GCC_LDBL_128}" in
> - y) extra_config+=("--with-long-double-128");;
> - m) ;;
> - "") extra_config+=("--without-long-double-128");;
> - esac
> -
> - if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
> - extra_config+=( --enable-linker-build-id )
> - fi
> -
> - case "${CT_CC_GCC_LNK_HASH_STYLE}" in
> - "") ;;
> - *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
> - esac
> -
> - if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then
> - extra_config+=( --enable-plugin )
> - fi
> - if [ "${CT_CC_GCC_GOLD}" = "y" ]; then
> - extra_config+=( --enable-gold )
> - fi
> -
> - case "${CT_ARCH}" in
> - mips)
> - case "${CT_CC_GCC_mips_llsc}" in
> - y) extra_config+=( --with-llsc );;
> - m) ;;
> - *) extra_config+=( --without-llsc );;
> - esac
> - case "${CT_CC_GCC_mips_synci}" in
> - y) extra_config+=( --with-synci );;
> - m) ;;
> - *) extra_config+=( --without-synci );;
> - esac
> - if [ "${CT_CC_GCC_mips_plt}" ]; then
> - extra_config+=( --with-mips-plt )
> - fi
> - ;; # ARCH is mips
> - esac
> -
> - [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls")
> -
> - if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
> - extra_config+=("--with-system-zlib")
> - fi
> -
> - if [ "${CT_MULTILIB}" = "y" ]; then
> - extra_config+=("--enable-multilib")
> - else
> - extra_config+=("--disable-multilib")
> - fi
> -
> - CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
> -
> - CT_DoExecLog CFG \
> - CC_FOR_BUILD="${CT_BUILD}-gcc" \
> - CFLAGS="${cflags}" \
> - LDFLAGS="${final_LDFLAGS[*]}" \
> - CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
> - CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
> - LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
> - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \
> - --build=${CT_BUILD} \
> - --host=${host} \
> - --target=${CT_TARGET} \
> - --prefix="${prefix}" \
> - ${CC_SYSROOT_ARG} \
> - "${extra_config[@]}" \
> - --with-local-prefix="${CT_SYSROOT_DIR}" \
> - --enable-c99 \
> - --enable-long-long \
> - "${CT_CC_EXTRA_CONFIG_ARRAY[@]}"
> -
> - if [ "${CT_CANADIAN}" = "y" ]; then
> - CT_DoLog EXTRA "Building libiberty"
> - CT_DoExecLog ALL make ${JOBSFLAGS} all-build-libiberty
> - fi
> -
> - CT_DoLog EXTRA "Building gcc"
> - CT_DoExecLog ALL make ${JOBSFLAGS} all
> -
> - CT_DoLog EXTRA "Installing gcc"
> - CT_DoExecLog ALL make ${JOBSFLAGS} install
> -
> - if [ "${build_manuals}" = "yes" ]; then
> - CT_DoLog EXTRA "Building the GCC manuals"
> - CT_DoExecLog ALL make pdf html
> - CT_DoLog EXTRA "Installing the GCC manuals"
> - CT_DoExecLog ALL make install-{pdf,html}-gcc
> - fi
> -
> - # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able
> - # to call the C compiler with the same, somewhat canonical name.
> - # check whether compiler has an extension
> - file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )"
> - [ -z "${file}" ] || ext=".${file##*.}"
> - CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${CT_PREFIX_DIR}/bin/${CT_TARGET}-cc${ext}"
> -
> - if [ "${CT_MULTILIB}" = "y" ]; then
> - if [ "${CT_CANADIAN}" = "y" ]; then
> - CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly"
> - else
> - multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \
> - |tail -n +2 ) )
> - if [ ${#multilibs[@]} -ne 0 ]; then
> - CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):"
> - for i in "${multilibs[@]}"; do
> - dir="${i%%;*}"
> - flags="${i#*;}"
> - CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/"
> - done
> - else
> - CT_DoLog WARN "gcc configured for multilib, but none available"
> - fi
> - fi
> - fi
> -}
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/debug/300-gdb.sh
> --- a/scripts/build/debug/300-gdb.sh Sat Nov 16 18:14:45 2013 +0100
> +++ b/scripts/build/debug/300-gdb.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -181,11 +181,11 @@
> if [ "${CT_GDB_INSTALL_GDBINIT}" = "y" ]; then
> CT_DoLog EXTRA "Installing '.gdbinit' template"
> # See in scripts/build/internals.sh for why we do this
> - if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then
> - gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" )
> + if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then
> + gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" )
> else
> - gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
> - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/version.c" \
> + gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
> + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/version.c" \
> )
> fi
> ${sed} -r \
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/internals.sh
> --- a/scripts/build/internals.sh Sat Nov 16 18:14:45 2013 +0100
> +++ b/scripts/build/internals.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -28,33 +28,35 @@
> CT_DoExecLog ALL "${CT_TARGET}-strip" ${strip_args} \
> "${CT_TARGET}/debug-root/usr/bin/gdbserver"
> fi
> - # We can not use the version in CT_CC_VERSION because
> - # of the Linaro stuff. So, harvest the version string
> - # directly from the gcc sources...
> - # All gcc 4.x seem to have the version in gcc/BASE-VER
> - # while version prior to 4.x have the version in gcc/version.c
> - # Of course, here is not the better place to do that...
> - if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then
> - gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" )
> - else
> - gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
> - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/version.c" \
> - )
> + if [ "${CT_CC_gcc}" = "y" ]; then
> + # We can not use the version in CT_CC_GCC_VERSION because
> + # of the Linaro stuff. So, harvest the version string
> + # directly from the gcc sources...
> + # All gcc 4.x seem to have the version in gcc/BASE-VER
> + # while version prior to 4.x have the version in gcc/version.c
> + # Of course, here is not the better place to do that...
> + if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then
> + gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" )
> + else
> + gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
> + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/version.c" \
> + )
> + fi
> + for _t in "bin/${CT_TARGET}-"* \
> + "${CT_TARGET}/bin/"* \
> + "libexec/gcc/${CT_TARGET}/${gcc_version}/"* \
> + "libexec/gcc/${CT_TARGET}/${gcc_version}/install-tools/"* \
> + ; do
> + _type="$( file "${_t}" |cut -d ' ' -f 2- )"
> + case "${_type}" in
> + *script*executable*)
> + ;;
> + *executable*)
> + CT_DoExecLog ALL ${CT_HOST}-strip ${strip_args} "${_t}"
> + ;;
> + esac
> + done
> fi
> - for _t in "bin/${CT_TARGET}-"* \
> - "${CT_TARGET}/bin/"* \
> - "libexec/gcc/${CT_TARGET}/${gcc_version}/"* \
> - "libexec/gcc/${CT_TARGET}/${gcc_version}/install-tools/"* \
> - ; do
> - _type="$( file "${_t}" |cut -d ' ' -f 2- )"
> - case "${_type}" in
> - *script*executable*)
> - ;;
> - *executable*)
> - CT_DoExecLog ALL ${CT_HOST}-strip ${strip_args} "${_t}"
> - ;;
> - esac
> - done
> CT_Popd
> fi
>
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/test_suite/gcc.sh
> --- a/scripts/build/test_suite/gcc.sh Sat Nov 16 18:14:45 2013 +0100
> +++ b/scripts/build/test_suite/gcc.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -15,10 +15,10 @@
> CT_DoStep INFO "Installing GCC test suite"
>
> CT_DoExecLog ALL mkdir -p "${CT_TEST_SUITE_DIR}/gcc"
> - CT_DoExecLog ALL cp -av "${CT_LIB_DIR}/contrib/gcc-test-suite/default.cfg" \
> - "${CT_LIB_DIR}/contrib/gcc-test-suite/Makefile" \
> - "${CT_LIB_DIR}/contrib/gcc-test-suite/README" \
> - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/testsuite" \
> + CT_DoExecLog ALL cp -av "${CT_LIB_DIR}/contrib/gcc-test-suite/default.cfg" \
> + "${CT_LIB_DIR}/contrib/gcc-test-suite/Makefile" \
> + "${CT_LIB_DIR}/contrib/gcc-test-suite/README" \
> + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/testsuite" \
> "${CT_TEST_SUITE_DIR}/gcc"
>
> CT_DoExecLog ALL sed -i -r -e "s/@@DG_TARGET@@/${CT_TARGET}/g;" \
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/crosstool-NG.sh.in
> --- a/scripts/crosstool-NG.sh.in Sat Nov 16 18:14:45 2013 +0100
> +++ b/scripts/crosstool-NG.sh.in Mon Dec 02 21:51:09 2013 +0100
> @@ -140,7 +140,7 @@
> . "${CT_LIB_DIR}/scripts/build/companion_libs.sh"
> . "${CT_LIB_DIR}/scripts/build/binutils/${CT_BINUTILS}.sh"
> . "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh"
> -. "${CT_LIB_DIR}/scripts/build/cc/${CT_CC}.sh"
> +. "${CT_LIB_DIR}/scripts/build/cc.sh"
> . "${CT_LIB_DIR}/scripts/build/debug.sh"
> . "${CT_LIB_DIR}/scripts/build/test_suite.sh"
>
> @@ -162,8 +162,8 @@
> # Put user-supplied flags at the end, so that they take precedence.
> CT_TARGET_CFLAGS="${CT_ARCH_TARGET_CFLAGS} ${CT_TARGET_CFLAGS}"
> CT_TARGET_LDFLAGS="${CT_ARCH_TARGET_LDFLAGS} ${CT_TARGET_LDFLAGS}"
> -CT_CC_CORE_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_CORE_EXTRA_CONFIG} "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
> -CT_CC_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_EXTRA_CONFIG} "${CT_CC_EXTRA_CONFIG_ARRAY[@]}" )
> +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_CORE_EXTRA_CONFIG} "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
> +CT_CC_GCC_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_EXTRA_CONFIG} "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" )
>
> # Compute the package version string
> CT_PKGVERSION="crosstool-NG ${CT_VERSION}${CT_TOOLCHAIN_PKGVERSION:+ - ${CT_TOOLCHAIN_PKGVERSION}}"
> @@ -545,8 +545,8 @@
> CT_EndStep
> fi
>
> - if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then
> - CT_DoStep DEBUG "Checking that gcc can statically link libstdc++ (CT_CC_STATIC_LIBSTDCXX)"
> + if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
> + CT_DoStep DEBUG "Checking that gcc can statically link libstdc++ (CT_CC_GCC_STATIC_LIBSTDCXX)"
> CT_DoLog DEBUG "You may need to ensure that libstdc++.a is installed on your system"
> CT_DoExecLog DEBUG "${CT_HOST}-gcc" ${CT_CFLAGS_FOR_HOST} ${CT_LDFLAGS_FOR_HOST} "${testc}" -static -lstdc++ -o "${gccout}"
> rm -f "${gccout}"
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/gen_in_frags.sh
> --- a/scripts/gen_in_frags.sh Sat Nov 16 18:14:45 2013 +0100
> +++ b/scripts/gen_in_frags.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -138,6 +138,9 @@
> _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
> printf 'menuconfig %s_%s\n' "${cfg_prefix}" "${_entry}"
> printf ' bool\n'
> + if "${grep}" -E '^## default' ${file} >/dev/null 2>&1; then
> + "${sed}" -r -e '/^## default ?/!d; s/^## default ?/ default /;' ${file} 2>/dev/null
> + fi
> printf ' prompt "%s"\n' "${entry}"
> "${sed}" -r -e '/^## depends on /!d; s/^## / /;' ${file} 2>/dev/null
> "${sed}" -r -e '/^## select /!d; s/^## / /;' ${file} 2>/dev/null
> diff -r 7e569a9cb5fd -r 65771b86df01 scripts/showSamples.sh
> --- a/scripts/showSamples.sh Sat Nov 16 18:14:45 2013 +0100
> +++ b/scripts/showSamples.sh Mon Dec 02 21:51:09 2013 +0100
> @@ -76,7 +76,7 @@
> [ -z "${CT_LIBELF}" -a -z "${CT_LIBELF_TARGET}" ] || printf " libelf-%s" "${CT_LIBELF_VERSION}"
> [ -z "${complibs}" ] || printf "\n"
> printf " %-*s : %s\n" ${width} "binutils" "binutils-${CT_BINUTILS_VERSION}"
> - printf " %-*s : %s" ${width} "C compiler" "${CT_CC}-${CT_CC_VERSION} (C"
> + printf " %-*s : %s" ${width} "C compiler" "${CT_CC}-${CT_CC_GCC_VERSION} (C"
> [ "${CT_CC_LANG_CXX}" = "y" ] && printf ",C++"
> [ "${CT_CC_LANG_FORTRAN}" = "y" ] && printf ",Fortran"
> [ "${CT_CC_LANG_JAVA}" = "y" ] && printf ",Java"
> @@ -121,7 +121,7 @@
> fi
> printf "| ${CT_BINUTILS_VERSION} "
> printf "| ''${CT_CC}'' "
> - printf "| ${CT_CC_VERSION} "
> + printf "| ${CT_CC_GCC_VERSION} "
> printf "| ''${CT_LIBC}'' |"
> if [ "${CT_LIBC}" != "none" ]; then
> printf " ${CT_LIBC_VERSION} "
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>
--
For unsubscribe information see http://sourceware.org/lists.html#faq
next prev parent reply other threads:[~2013-12-09 19:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-02 20:52 [PATCH 0 of 1] Split gcc from cc Yann Diorcet
2013-12-02 20:54 ` [PATCH 1 of 1] cc/gcc: Split gcc configurations and functions from cc ones Yann Diorcet
2013-12-09 19:05 ` Ray Donnelly [this message]
2013-12-09 22:06 ` Cody P Schafer
2013-12-10 9:26 ` Yann Diorcet
-- strict thread matches above, loose matches on Subject: below --
2013-12-11 20:42 [PATCH 0 of 1] Split gcc from cc Yann Diorcet
2013-12-11 20:42 ` [PATCH 1 of 1] cc/gcc: Split gcc configurations and functions from cc ones Yann Diorcet
2013-12-12 22:07 ` Yann E. MORIN
2013-07-09 22:58 [PATCH 0 of 1] Split gcc from cc Yann Diorcet
2013-07-09 22:58 ` [PATCH 1 of 1] cc/gcc: Split gcc configurations and functions from cc ones Yann Diorcet
2013-07-10 6:16 ` Daniel Price
2013-07-10 7:43 ` Diorcet Yann
2013-07-10 8:50 ` Martin Guy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAOYw7dsrHkLxhnW2xDHmArV9eieNM62+=owoFW1_s1aw5pDKvg@mail.gmail.com' \
--to=mingw.android@gmail.com \
--cc=crossgcc@sourceware.org \
--cc=diorcet.yann@gmail.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).