toolchain-external: add support for gcc version dependency

This commit wires up the gcc version dependency mechanism in the
external toolchain backend. To do so, it:

 * Changes the definition of all pre-defined external toolchain
   profiles to select the appropriate BR2_TOOLCHAIN_GCC_AT_LEAST_*
   option.

 * For custom external toolchains, provides a visible Config.in
   "choice" to select the gcc version used in the external toolchain.

 * Adds a new check_gcc_version function, that verifies that the real
   gcc version found in the external toolchain matches the one
   declared in the Buildroot configuration.

[Thomas: use better sed expression proposed by Yann E. Morin, which
works with more cases.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2015-08-04 20:00:35 +02:00
parent c67540ef9b
commit bd760c3f51
3 changed files with 102 additions and 0 deletions

View File

@ -174,6 +174,36 @@ check_kernel_headers_version = \
exit 1; \ exit 1; \
fi fi
#
# Check the specific gcc version actually matches the version in the
# toolchain
#
# $1: path to gcc
# $2: expected gcc version
#
# Some details about the sed expression:
# - 1!d
# - delete if not line 1
#
# - s/^[^)]+\) ([^[:space:]]+).*/\1/
# - eat all until the first ')' character followed by a space
# - match as many non-space chars as possible
# - eat all the remaining chars on the line
# - replace by the matched expression
#
# - s/\.[[:digit:]]+$//
# - eat a dot followed by as many digits as possible up to the end
# of line
# - replace with nothing
#
check_gcc_version = \
expected_version="$(strip $2)" ; \
real_version=`$(1) --version | sed -r -e '1!d; s/^[^)]+\) ([^[:space:]]+).*/\1/; s/\.[[:digit:]]+$$//;'` ; \
if [ "$${real_version}" != "$${expected_version}" ] ; then \
echo "Incorrect selection of gcc version: expected $${expected_version}, got $${real_version}" ; \
exit 1 ; \
fi
# #
# Check the availability of a particular glibc feature. This function # Check the availability of a particular glibc feature. This function
# is used to check toolchain options that are always supported by # is used to check toolchain options that are always supported by

View File

@ -18,6 +18,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help help
Linaro toolchain for the ARM architecture. It uses Linaro Linaro toolchain for the ARM architecture. It uses Linaro
GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
@ -44,6 +45,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help help
Linaro toolchain for the ARM big endian architecture. It Linaro toolchain for the ARM big endian architecture. It
uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
@ -69,6 +71,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Sourcery CodeBench toolchain for the ARM architecture, from Sourcery CodeBench toolchain for the ARM architecture, from
Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
@ -98,6 +101,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Sourcery CodeBench toolchain for the ARM architecture, from Sourcery CodeBench toolchain for the ARM architecture, from
Mentor Graphics. It uses gcc 4.8.1, binutils 2.23.52, glibc Mentor Graphics. It uses gcc 4.8.1, binutils 2.23.52, glibc
@ -126,6 +130,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
help help
Sourcery CodeBench toolchain for the ARM architecture, from Sourcery CodeBench toolchain for the ARM architecture, from
Mentor Graphics. It uses gcc 4.7.3, binutils 2.23.52, glibc Mentor Graphics. It uses gcc 4.7.3, binutils 2.23.52, glibc
@ -159,6 +164,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
# kernel headers: 2.6.31 # kernel headers: 2.6.31
help help
Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3, Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
@ -181,6 +187,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109
select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
# kernel headers: 2.6.31 # kernel headers: 2.6.31
help help
Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
@ -199,6 +206,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201505
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help help
Sourcery CodeBench toolchain for the MIPS architecture, from Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 4.9.2, binutils 2.24.51, glibc Mentor Graphics. It uses gcc 4.9.2, binutils 2.24.51, glibc
@ -284,6 +292,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201411
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help help
Sourcery CodeBench toolchain for the MIPS architecture, from Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 4.9.1, binutils 2.24.51, glibc Mentor Graphics. It uses gcc 4.9.1, binutils 2.24.51, glibc
@ -369,6 +378,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201405
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Sourcery CodeBench toolchain for the MIPS architecture, from Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
@ -457,6 +467,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Sourcery CodeBench toolchain for the Nios-II architecture, Sourcery CodeBench toolchain for the Nios-II architecture,
from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51,
@ -472,6 +483,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
help help
Sourcery CodeBench toolchain for the Nios-II architecture, Sourcery CodeBench toolchain for the Nios-II architecture,
from Mentor Graphics. It uses gcc 4.7.3, binutils 2.23.52, from Mentor Graphics. It uses gcc 4.7.3, binutils 2.23.52,
@ -488,6 +500,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
help help
Sourcery CodeBench toolchain for the PowerPC architecture, Sourcery CodeBench toolchain for the PowerPC architecture,
from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
@ -505,6 +518,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
# kernel headers: 2.6.38 # kernel headers: 2.6.38
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
help help
Sourcery CodeBench toolchain for the PowerPC architecture, Sourcery CodeBench toolchain for the PowerPC architecture,
from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51, from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51,
@ -537,6 +551,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
# kernel headers: 2.6.35 # kernel headers: 2.6.35
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
help help
Sourcery CodeBench toolchain for the PowerPC architecture, Sourcery CodeBench toolchain for the PowerPC architecture,
from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20, from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
@ -569,6 +584,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
help help
Sourcery CodeBench toolchain for the SuperH architecture, Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51, from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
@ -592,6 +608,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
help help
Sourcery CodeBench toolchain for the SuperH architecture, Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
@ -616,6 +633,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
# kernel headers: 2.6.38 # kernel headers: 2.6.38
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
help help
Sourcery CodeBench toolchain for the SuperH architecture, Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20, from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
@ -641,6 +659,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_201405
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Sourcery CodeBench toolchain for the amd64 (x86_64) Sourcery CodeBench toolchain for the amd64 (x86_64)
architectures, from Mentor Graphics. It uses gcc 4.8.3, architectures, from Mentor Graphics. It uses gcc 4.8.3,
@ -665,6 +684,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
help help
Sourcery CodeBench toolchain for the x86/x86_64 Sourcery CodeBench toolchain for the x86/x86_64
architectures, from Mentor Graphics. It uses gcc 4.7.2, architectures, from Mentor Graphics. It uses gcc 4.7.2,
@ -692,6 +712,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
help help
Sourcery CodeBench toolchain for the x86/x86_64 Sourcery CodeBench toolchain for the x86/x86_64
architectures, from Mentor Graphics. It uses gcc 4.6.3, architectures, from Mentor Graphics. It uses gcc 4.6.3,
@ -720,6 +741,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
help help
Sourcery CodeBench toolchain for the x86/x86_64 Sourcery CodeBench toolchain for the x86/x86_64
architectures, from Mentor Graphics. It uses gcc 4.6.1, architectures, from Mentor Graphics. It uses gcc 4.6.1,
@ -748,6 +770,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
help help
Toolchain for the Blackfin architecture, from Toolchain for the Blackfin architecture, from
http://blackfin.uclinux.org. http://blackfin.uclinux.org.
@ -764,6 +787,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
help help
Toolchain for the Blackfin architecture, from Toolchain for the Blackfin architecture, from
http://blackfin.uclinux.org. http://blackfin.uclinux.org.
@ -780,6 +804,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
help help
Toolchain for the Blackfin architecture, from Toolchain for the Blackfin architecture, from
http://blackfin.uclinux.org. http://blackfin.uclinux.org.
@ -794,6 +819,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help help
Toolchain for the AArch64 architecture, from Toolchain for the AArch64 architecture, from
http://www.linaro.org/engineering/armv8/ http://www.linaro.org/engineering/armv8/
@ -808,6 +834,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Sourcery CodeBench toolchain for the AArch64 architecture, Sourcery CodeBench toolchain for the AArch64 architecture,
from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24, from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24,
@ -823,6 +850,7 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
select BR2_INSTALL_LIBSTDCPP select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help help
Toolchain based on the Musl C library, provided by the Toolchain based on the Musl C library, provided by the
musl-cross project. It uses gcc 4.9.2, binutils 2.25 and musl-cross project. It uses gcc 4.9.2, binutils 2.25 and
@ -849,6 +877,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12
select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help help
Toolchain for the ARC cores, from Toolchain for the ARC cores, from
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
@ -964,6 +993,47 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
choice
bool "External toolchain gcc version"
default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
help
Set to the gcc version that is used by your external
toolchain.
config BR2_TOOLCHAIN_EXTERNAL_GCC_5
bool "5.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
bool "4.9.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
bool "4.8.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
bool "4.7.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
bool "4.6.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
bool "4.5.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
bool "4.4.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
bool "4.3.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
endchoice
choice choice
bool "External toolchain kernel headers series" bool "External toolchain kernel headers series"
default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD

View File

@ -473,6 +473,8 @@ define TOOLCHAIN_EXTERNAL_CONFIGURE_CMDS
$(call check_kernel_headers_version,\ $(call check_kernel_headers_version,\
$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC)),\ $(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC)),\
$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))); \ $(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))); \
$(call check_gcc_version,$(TOOLCHAIN_EXTERNAL_CC),\
$(call qstrip,$(BR2_TOOLCHAIN_GCC_AT_LEAST))); \
if test "$(BR2_arm)" = "y" ; then \ if test "$(BR2_arm)" = "y" ; then \
$(call check_arm_abi,\ $(call check_arm_abi,\
"$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS)",\ "$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS)",\