794935068b
Don't enable SSP support on external toolchains just because they use glibc or musl. Instead of that, make the external toolchains explictily declare if they support SSP or not. And also add a check to detect SSP support when using custom external toolchains. For internal toolchains we always enable SSP support for glibc and musl. Fixes: http://autobuild.buildroot.net/results/ac7c9b3ad2e52abfe6b79a80045e4218eeb87175/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> [Thomas: - remove uClibc-specific SSP check, since there is now a generic check being done. - send potential compilation errors caused by the SSP check to oblivion, in order to avoid causing confusion for the user. - add autobuilder reference.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
1063 lines
39 KiB
Plaintext
1063 lines
39 KiB
Plaintext
if BR2_TOOLCHAIN_EXTERNAL
|
|
|
|
choice
|
|
prompt "Toolchain"
|
|
|
|
comment "(e)glibc toolchains only available with shared lib support"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
comment "Linaro toolchains available for Cortex-A + EABIhf"
|
|
depends on BR2_arm || BR2_armeb
|
|
depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
|
|
depends on !BR2_STATIC_LIBS
|
|
|
|
# Note: we use the same symbol for both Linaro toolchains.
|
|
# Since they have different dependencies (the host), we can
|
|
# give them different prompts and different help texts.
|
|
config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
|
|
bool "Linaro ARM 2014.09"
|
|
depends on BR2_arm
|
|
depends on BR2_ARM_CPU_ARMV7A
|
|
depends on BR2_HOSTARCH = "x86"
|
|
depends on BR2_ARM_EABIHF
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
Linaro toolchain for the ARM architecture. It uses Linaro
|
|
GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
|
|
GDB 7.6), eglibc 2.19, Binutils 2014.09 (based on 2.24). It
|
|
generates code that runs on all Cortex-A profile devices,
|
|
but tuned for the Cortex-A9. The code generated is Thumb 2,
|
|
with the hard floating point calling convention, and uses
|
|
the VFPv3-D16 FPU instructions.
|
|
|
|
# See the note above.
|
|
config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
|
|
bool "Linaro ARM 2016.02"
|
|
depends on BR2_arm
|
|
depends on BR2_ARM_CPU_ARMV7A
|
|
depends on BR2_HOSTARCH = "x86_64"
|
|
depends on BR2_ARM_EABIHF
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
Linaro toolchain for the ARM architecture. It uses Linaro
|
|
GCC 2016.02 (based on gcc 5.3), Linaro GDB 2016.02 (based on
|
|
GDB 7.10), glibc 2.21, Binutils 2015.10 (based on 2.25). It
|
|
generates code that runs on all Cortex-A profile devices,
|
|
but tuned for the Cortex-A9. The code generated is Thumb 2,
|
|
with the hard floating point calling convention, and uses
|
|
the VFPv3-D16 FPU instructions.
|
|
|
|
# See the note above.
|
|
config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
|
|
bool "Linaro armeb 2014.09"
|
|
depends on BR2_armeb
|
|
depends on BR2_ARM_CPU_ARMV7A
|
|
depends on BR2_HOSTARCH = "x86"
|
|
depends on BR2_ARM_EABIHF
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
Linaro toolchain for the ARM big endian architecture. It
|
|
uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
|
|
2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.09
|
|
(based on 2.24). It generates code that runs on all Cortex-A
|
|
profile devices, but tuned for the Cortex-A9. The code
|
|
generated is Thumb 2, with the hard floating point calling
|
|
convention, and uses the VFPv3-D16 FPU instructions.
|
|
|
|
# See the note above.
|
|
config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
|
|
bool "Linaro armeb 2016.02"
|
|
depends on BR2_armeb
|
|
depends on BR2_ARM_CPU_ARMV7A
|
|
depends on BR2_HOSTARCH = "x86_64"
|
|
depends on BR2_ARM_EABIHF
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
Linaro toolchain for the ARM big endian architecture. It
|
|
uses Linaro GCC 2016.02 (based on gcc 5.3), Linaro GDB
|
|
2016.02 (based on GDB 7.10), glibc 2.21, Binutils 2015.10
|
|
(based on 2.25). It generates code that runs on all Cortex-A
|
|
profile devices, but tuned for the Cortex-A9. The code
|
|
generated is Thumb 2, with the hard floating point calling
|
|
convention, and uses the VFPv3-D16 FPU instructions.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
|
|
bool "Sourcery CodeBench ARM 2014.05"
|
|
depends on BR2_arm
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on BR2_ARM_EABI
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
help
|
|
Sourcery CodeBench toolchain for the ARM architecture, from
|
|
Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
|
|
2.18 and gdb 7.7.50, kernel headers 3.13. It has support
|
|
for the following variants:
|
|
- ARMv5TE, little endian, soft-float, glibc
|
|
Select ARM926T, ARM10T, XScale or another ARMv5 core
|
|
Select BR2_SOFT_FLOAT
|
|
- ARMv4T, little endian, soft-float, glibc
|
|
Select ARM720T, ARM920T, ARM922T or another ARMv4 core
|
|
Select BR2_SOFT_FLOAT
|
|
- ARMv7-A, Thumb 2, little endian, soft-float, glibc
|
|
Select Cortex-A8, Cortex-A9 or another ARMv7-A core
|
|
Select BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mthumb
|
|
|
|
comment "Sourcery CodeBench toolchains available for the EABI ABI"
|
|
depends on BR2_arm
|
|
depends on !BR2_ARM_EABI
|
|
depends on !BR2_STATIC_LIBS
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
|
|
bool "Arago ARMv7 2011.09"
|
|
depends on BR2_arm
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on BR2_ARM_CPU_ARMV7A
|
|
depends on BR2_ARM_EABI
|
|
depends on BR2_ARM_CPU_HAS_VFPV3
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
|
|
# kernel headers: 2.6.31
|
|
help
|
|
Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
|
|
binutils 2.20.1, glibc 2.12, gdb 7.2.
|
|
|
|
This toolchain uses -mfloat-abi=softfp (i.e can use FPU
|
|
instructions, but passes floating point function arguments
|
|
in integer registers), and requires a VFPv3 floating point
|
|
unit to work properly. This unit is available on most
|
|
Cortex-A ARM processors, but not all.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
|
|
bool "Arago ARMv5 2011.09"
|
|
depends on BR2_arm
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_ARM_CPU_ARMV4
|
|
depends on BR2_ARM_EABI
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
|
|
# kernel headers: 2.6.31
|
|
help
|
|
Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
|
|
4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
|
|
|
|
This toolchain uses software-floating point.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
|
|
bool "Sourcery CodeBench MIPS 2016.05"
|
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
depends on BR2_mips_32r2 || BR2_mips_64r2
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_MIPS_NABI32
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
Sourcery CodeBench toolchain for the MIPS architecture, from
|
|
Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
|
|
2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
|
|
has support for the following variants:
|
|
- MIPS32r2 - Big-Endian, 2008 NaN, O32
|
|
Select MIPS (big endian) core
|
|
Disable BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mnan=2008
|
|
- MIPS32r2 - Big-Endian, O32
|
|
Select MIPS (big endian) core
|
|
Disable BR2_SOFT_FLOAT
|
|
- MIPS32r2 - Big-Endian, O32, MIPS16
|
|
Select MIPS (big endian) core
|
|
Disable BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mips16
|
|
- MIPS32r2 - Big-Endian, Soft-Float, O32
|
|
Select MIPS (big endian) core
|
|
Select BR2_SOFT_FLOAT
|
|
- MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
|
|
Select MIPS (big endian) core
|
|
Select BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mips16
|
|
- MIPS32r2 - Little-Endian, 2008 NaN, O32
|
|
Select MIPS (little endian) core
|
|
Disable BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mnan=2008
|
|
- MIPS32r2 - Little-Endian, O32
|
|
Select MIPS (little endian) core
|
|
Disable BR2_SOFT_FLOAT
|
|
- MIPS32r2 - Little-Endian, O32, MIPS16
|
|
Select MIPS (little endian) core
|
|
Disable BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mips16
|
|
- MIPS32r2 - Little-Endian, Soft-Float, O32
|
|
Select MIPS (little endian) core
|
|
Select BR2_SOFT_FLOAT
|
|
- MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
|
|
Select MIPS (little endian) core
|
|
Select BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mips16
|
|
- MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
|
|
Select MIPS (little endian) core
|
|
Select BR2_SOFT_FLOAT
|
|
Set BR2_TARGET_OPTIMIZATION to -mmicromips
|
|
- MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
|
|
Not usable in Buildroot yet.
|
|
- MIPS32r2 - uClibc, Big-Endian, O32
|
|
Not usable in Buildroot yet.
|
|
- MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
|
|
Not usable in Buildroot yet.
|
|
- MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
|
|
Not usable in Buildroot yet.
|
|
- MIPS32r2 - uClibc, Little-Endian, O32
|
|
Not usable in Buildroot yet.
|
|
- MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
|
|
Not usable in Buildroot yet.
|
|
- MIPS64r2 - Big-Endian, N64
|
|
Select MIPS64 (big endian) core
|
|
Select the n64 ABI
|
|
Disable BR2_SOFT_FLOAT
|
|
- MIPS64r2 - Big-Endian, Soft-Float, N64
|
|
Select MIPS64 (big endian) core
|
|
Select the n64 ABI
|
|
Select BR2_SOFT_FLOAT
|
|
- MIPS64r2 - Little-Endian, N64
|
|
Select MIPS64 (little endian) core
|
|
Select the n64 ABI
|
|
Disable BR2_SOFT_FLOAT
|
|
- MIPS64r2 - Little-Endian, Soft-Float, N64
|
|
Select MIPS64 (little endian) core
|
|
Select the n64 ABI
|
|
Select BR2_SOFT_FLOAT
|
|
|
|
comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
|
|
depends on BR2_MIPS_NABI32
|
|
depends on !BR2_STATIC_LIBS
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
|
|
bool "Codescape IMG GNU Linux Toolchain 2015.10"
|
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on BR2_mips_32r6 || (BR2_mips_64r6 && !BR2_MIPS_SOFT_FLOAT)
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
|
|
architecture, from Imagination Technologies. It uses gcc
|
|
4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
|
|
headers 4.0. It has support for the following variants:
|
|
- MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
|
|
Select 'MIPS (big endian)' Target Architecture
|
|
Select 'mips 32r6' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
- MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
|
|
Select 'MIPS (big endian)' Target Architecture
|
|
Select 'mips 32r6' Target Architecture Variant
|
|
Enable 'Use soft-float'
|
|
- MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r6' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
- MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r6' Target Architecture Variant
|
|
Enable 'Use soft-float'
|
|
- MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r6' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
|
|
- MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r6' Target Architecture Variant
|
|
Enable 'Use soft-float'
|
|
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
|
|
- MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
|
|
Select 'MIPS64 (big endian)' Target Architecture
|
|
Select 'mips 64r6' Target Architecture Variant
|
|
Select 'n32' Target ABI
|
|
Disable 'Use soft-float'
|
|
- MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
|
|
Select 'MIPS64 (little endian)' Target Architecture
|
|
Select 'mips 64r6' Target Architecture Variant
|
|
Select 'n32' Target ABI
|
|
Disable 'Use soft-float'
|
|
- MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
|
|
Select 'MIPS64 (big endian)' Target Architecture
|
|
Select 'mips 64r6' Target Architecture Variant
|
|
Select 'n64' Target ABI
|
|
Disable 'Use soft-float'
|
|
- MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
|
|
Select 'MIPS64 (little endian)' Target Architecture
|
|
Select 'mips 64r6' Target Architecture Variant
|
|
Select 'n64' Target ABI
|
|
Disable 'Use soft-float'
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
|
|
bool "Codescape MTI GNU Linux Toolchain 2015.10"
|
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on BR2_mips_32r2 || (BR2_mips_64r2 && !BR2_MIPS_SOFT_FLOAT)
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
|
|
architecture, from Imagination Technologies. It uses gcc
|
|
4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
|
|
headers 4.0. It has support for the following variants:
|
|
- MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
|
|
Select 'MIPS (big endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
- MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
|
|
Select 'MIPS (big endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
|
|
- MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
|
|
Select 'MIPS (big endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Enable 'Use soft-float'
|
|
- MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
- MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
|
|
- MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Enable 'Use soft-float'
|
|
- MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Enable 'Use soft-float'
|
|
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
|
|
- MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
|
|
Select 'MIPS (little endian)' Target Architecture
|
|
Select 'mips 32r2' Target Architecture Variant
|
|
Disable 'Use soft-float'
|
|
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
|
|
- MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
|
|
Select 'MIPS64 (big endian)' Target Architecture
|
|
Select 'mips 64r2' Target Architecture Variant
|
|
Select 'n32' Target ABI
|
|
Disable 'Use soft-float'
|
|
- MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
|
|
Select 'MIPS64 (little endian)' Target Architecture
|
|
Select 'mips 64r2' Target Architecture Variant
|
|
Select 'n32' Target ABI
|
|
Disable 'Use soft-float'
|
|
- MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
|
|
Select 'MIPS64 (big endian)' Target Architecture
|
|
Select 'mips 64r2' Target Architecture Variant
|
|
Select 'n64' Target ABI
|
|
Disable 'Use soft-float'
|
|
- MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
|
|
Select 'MIPS64 (little endian)' Target Architecture
|
|
Select 'mips 64r2' Target Architecture Variant
|
|
Select 'n64' Target ABI
|
|
Disable 'Use soft-float'
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
|
|
bool "Sourcery CodeBench Nios-II 2015.11"
|
|
depends on BR2_nios2
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
|
|
help
|
|
Sourcery CodeBench toolchain for the Nios-II architecture,
|
|
from Mentor Graphics. It uses gcc 5.2, binutils 2.25.51,
|
|
glibc 2.22, gdb 7.10.50 and kernel headers 4.2.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
|
|
bool "Sourcery CodeBench SH 2012.09"
|
|
depends on BR2_sh4a || BR2_sh4aeb
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
|
help
|
|
Sourcery CodeBench toolchain for the SuperH architecture,
|
|
from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
|
|
glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
|
|
3.5.4. It has support for the following variants:
|
|
- SH4A, glibc, little endian
|
|
Default.
|
|
- SH4A, glibc, big endian
|
|
Add -mb to BR2_TARGET_OPTIMIZATION
|
|
- SH4A, uClibc, little endian
|
|
Not usable in Buildroot yet.
|
|
- SH4A, uClibc, big endian
|
|
Not usable in Buildroot yet.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
|
|
bool "Sourcery CodeBench AMD64 2015.11"
|
|
depends on BR2_x86_64
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_x86_jaguar || BR2_x86_steamroller
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
Sourcery CodeBench toolchain for the amd64 (x86_64)
|
|
architectures, from Mentor Graphics. It uses gcc 5.2,
|
|
binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
|
|
4.2. It has support for the following variants:
|
|
- AMD Puma/Jaguar (family 16h), glibc
|
|
Default for x86_64, nothing special to do.
|
|
- AMD Steamroller (family 15h), glibc
|
|
Select a steamroller core.
|
|
No other architecture variants are supported since glibc
|
|
is optimized for one of these two baselines.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
|
|
bool "Sourcery CodeBench x86/x86_64 2012.09"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on !BR2_x86_jaguar
|
|
depends on !BR2_x86_steamroller
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
|
help
|
|
Sourcery CodeBench toolchain for the x86/x86_64
|
|
architectures, from Mentor Graphics. It uses gcc 4.7.2,
|
|
binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
|
|
3.5.4. It has support for the following variants:
|
|
- Intel Pentium 4, glibc, 32 bits
|
|
Default for x86, nothing special to do.
|
|
- Intel Atom, glibc, 32 bits
|
|
Select an Atom core
|
|
- Intel Xeon, glibc, 64 bits
|
|
Default for x86_64, nothing special to do.
|
|
- Intel Core 2, glibc, 64 bits
|
|
Select a Core 2 core
|
|
Other architecture variants (beyond Pentium-4/Xeon) are
|
|
supported as well, but glibc is not optimised for it.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
|
|
bool "Blackfin.uclinux.org 2014R1"
|
|
depends on BR2_bfin
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_USE_WCHAR
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
|
|
help
|
|
Toolchain for the Blackfin architecture, from
|
|
http://blackfin.uclinux.org.
|
|
|
|
# See note about Linaro ARM/ARMEB toolchains, above.
|
|
config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
|
|
bool "Linaro AArch64 14.09"
|
|
depends on BR2_aarch64
|
|
depends on BR2_HOSTARCH = "x86"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
Toolchain for the AArch64 architecture, from
|
|
http://www.linaro.org/engineering/armv8/
|
|
|
|
# See note about Linaro ARM/ARMEB toolchains, above.
|
|
config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
|
|
bool "Linaro AArch64 2016.02"
|
|
depends on BR2_aarch64
|
|
depends on BR2_HOSTARCH = "x86_64"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
Toolchain for the AArch64 architecture, from
|
|
http://www.linaro.org/engineering/armv8/
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
|
|
bool "CodeSourcery AArch64 2014.11"
|
|
depends on BR2_aarch64
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
Sourcery CodeBench toolchain for the AArch64 architecture,
|
|
from Mentor Graphics. It uses gcc 4.9.1, binutils
|
|
2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
|
|
3.16.2.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
|
|
bool "Musl 1.1.12 toolchain (experimental)"
|
|
depends on (BR2_arm && BR2_ARM_EABI) || \
|
|
(BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4) || \
|
|
(BR2_armeb && BR2_ARM_EABI) || BR2_i386 || \
|
|
(BR2_mips && !BR2_SOFT_FLOAT) || \
|
|
BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
|
|
BR2_sh4 || BR2_sh4eb || \
|
|
BR2_x86_64
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
# Unsupported for MIPS R6
|
|
depends on !BR2_mips_32r6 && !BR2_mips_64r6
|
|
select BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
Toolchain based on the Musl C library, provided by the
|
|
musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
|
|
musl 1.1.12. It does not have a cross debugger included.
|
|
|
|
The ARM soft-float toolchain is built for ARMv4t, while the
|
|
ARM hard-float toolchain is built for ARMv5t.
|
|
The x86 toolchain is built for i486.
|
|
|
|
http://musl.codu.org/
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
|
|
bool "Synopsys ARC 2014.12 toolchain"
|
|
depends on BR2_arc
|
|
depends on BR2_HOSTARCH = "x86_64"
|
|
# does not provide IPv6, and lacks many uClibc features
|
|
# expected by Buildroot. The next Synopsys toolchain version
|
|
# should fix those problems.
|
|
depends on BROKEN
|
|
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
select BR2_ENABLE_LOCALE
|
|
select BR2_USE_WCHAR
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
help
|
|
Toolchain for the ARC cores, from
|
|
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
|
bool "Custom toolchain"
|
|
help
|
|
Use this option to use a custom toolchain pre-installed on
|
|
your system.
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Toolchain origin"
|
|
# Keep compatibility with old defconfig files that are using
|
|
# custom toolchains, and which are therefore assuming that
|
|
# "preinstalled" in the default choice.
|
|
default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
|
|
bool "Toolchain to be downloaded and installed"
|
|
help
|
|
Select this option if you want Buildroot to download and install the
|
|
toolchain. If you have selected a custom toolchain, specify the URL
|
|
in BR2_TOOLCHAIN_EXTERNAL_URL.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
|
|
bool "Pre-installed toolchain"
|
|
help
|
|
Select this option if you want to use a pre-installed toolchain.
|
|
Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
|
|
|
|
endchoice
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PATH
|
|
string "Toolchain path"
|
|
default "/path/to/toolchain/usr"
|
|
depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
|
|
help
|
|
Path to where the external toolchain is installed.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_URL
|
|
string "Toolchain URL"
|
|
depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
|
|
help
|
|
URL of the custom toolchain tarball to download and install.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
|
|
string "Toolchain prefix"
|
|
depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
|
default "$(ARCH)-linux"
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
|
|
string
|
|
default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
|
|
default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
|
|
default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
|
|
default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
|
|
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
|
|
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
|
|
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
|
|
default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
|
|
default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
|
|
default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
|
|
default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
|
|
default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
|
|
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
|
|
default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
|
|
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
|
|
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
|
|
default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
|
|
default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
|
|
default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
|
|
default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
|
|
default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
|
|
default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
|
|
default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
|
|
default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
|
|
default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
|
|
default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
|
|
default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
|
|
default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
|
|
default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
|
|
default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
|
|
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
bool
|
|
select BR2_TOOLCHAIN_USES_GLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
bool
|
|
select BR2_TOOLCHAIN_USES_UCLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
bool
|
|
select BR2_TOOLCHAIN_USES_MUSL
|
|
select BR2_PACKAGE_NETBSD_QUEUE
|
|
|
|
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_6
|
|
bool "6.x"
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
|
|
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
|
|
bool "External toolchain kernel headers series"
|
|
default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
|
|
help
|
|
Set to the kernel headers version that were used to build
|
|
this external toolchain.
|
|
|
|
This is used to hide/show some packages that have strict
|
|
requirements on the version of kernel headers.
|
|
|
|
If unsure what version your toolchain is using, you can look
|
|
at the value of LINUX_VERSION_CODE in linux/version.h in your
|
|
toolchain. The Linux version is M.m.p, with:
|
|
M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
|
|
m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
|
|
p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
|
|
bool "4.5.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
|
|
bool "4.4.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
|
|
bool "4.3.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
|
|
bool "4.2.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
|
|
bool "4.1.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
|
|
bool "4.0.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
|
|
bool "3.19.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
|
|
bool "3.18.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
|
|
bool "3.17.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
|
|
bool "3.16.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
|
|
bool "3.15.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
|
|
bool "3.14.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
|
|
bool "3.13.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
|
|
bool "3.12.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
|
|
bool "3.11.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
|
|
bool "3.10.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
|
|
bool "3.9.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
|
|
bool "3.8.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
|
|
bool "3.7.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
|
|
bool "3.6.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
|
|
bool "3.5.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
|
|
bool "3.4.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
|
|
bool "3.3.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
|
|
bool "3.2.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
|
|
bool "3.1.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
|
|
bool "3.0.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
|
|
bool "2.6.x"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "External toolchain C library"
|
|
default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
bool "uClibc"
|
|
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
# For the time being, we assume that all custom external
|
|
# toolchains have shadow password support.
|
|
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
|
|
help
|
|
Select this option if your external toolchain uses the
|
|
uClibc C library (available from http://www.uclibc.org/).
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
|
|
bool "glibc/eglibc"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
help
|
|
Select this option if your external toolchain uses the GNU C
|
|
library (available from https://www.gnu.org/software/libc/)
|
|
or its variant the eglibc library (http://www.eglibc.org/).
|
|
|
|
Note: eglibc is a variant of glibc that (among other things)
|
|
can be configured to exclude some of its features. Using a
|
|
toolchain with eglibc configured to exclude key features may
|
|
cause build failures to some packages.
|
|
|
|
comment "(e)glibc only available with shared lib support"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
|
|
bool "musl (experimental)"
|
|
select BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
help
|
|
Select this option if your external toolchain uses the
|
|
'musl' C library, available from http://www.musl-libc.org/.
|
|
|
|
endchoice
|
|
|
|
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_WCHAR
|
|
bool "Toolchain has WCHAR support?"
|
|
select BR2_USE_WCHAR
|
|
help
|
|
Select this option if your external toolchain supports
|
|
WCHAR. If you don't know, leave the default value, Buildroot
|
|
will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_LOCALE
|
|
bool "Toolchain has locale support?"
|
|
select BR2_TOOLCHAIN_EXTERNAL_WCHAR
|
|
select BR2_ENABLE_LOCALE
|
|
help
|
|
Select this option if your external toolchain has locale
|
|
support. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
|
|
bool "Toolchain has threads support?"
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
default y
|
|
help
|
|
Select this option if your external toolchain has thread
|
|
support. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
|
|
bool "Toolchain has threads debugging support?"
|
|
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
default y
|
|
help
|
|
Select this option if your external toolchain has thread
|
|
debugging support. If you don't know, leave the default
|
|
value, Buildroot will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
|
|
bool "Toolchain has NPTL threads support?"
|
|
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
default y
|
|
help
|
|
Select this option if your external toolchain uses the NPTL
|
|
(Native Posix Thread Library) implementation of Posix
|
|
threads. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
|
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
|
|
bool "Toolchain has SSP support?"
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
help
|
|
Selection this option if your external toolchain has Stack
|
|
Smashing Protection support enabled. If you don't know,
|
|
leave the default value, Buildroot will tell you if it's
|
|
correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
|
|
bool "Toolchain has RPC support?"
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
help
|
|
Select this option if your external toolchain supports
|
|
RPC. If you don't know, leave the default value, Buildroot
|
|
will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CXX
|
|
bool "Toolchain has C++ support?"
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
help
|
|
Select this option if your external toolchain has C++
|
|
support. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
|
|
string "Extra toolchain libraries to be copied to target"
|
|
help
|
|
If your external toolchain provides extra libraries that
|
|
need to be copied to the target filesystem, enter them
|
|
here, separated by spaces.
|
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
|
|
bool "Copy gdb server to the Target"
|
|
depends on BR2_TOOLCHAIN_EXTERNAL
|
|
help
|
|
Copy the gdbserver provided by the external toolchain to the
|
|
target.
|
|
|
|
# When the FDPIC shared binary format is used, the corresponding libraries are
|
|
# always installed. When a different binary format is used, we offer the option
|
|
# of installing the FDPIC shared libraries.
|
|
config BR2_BFIN_INSTALL_FDPIC_SHARED
|
|
bool "Install FDPIC shared libraries"
|
|
depends on BR2_bfin && !BR2_BINFMT_FDPIC
|
|
help
|
|
The Linux kernel supports running both FDPIC and FLAT applications
|
|
concurrently if the binary format specific libraries are installed
|
|
properly. This option allows developer to install FDPIC libraries
|
|
into a buildroot rootfs image built with binary format that is not
|
|
FDPIC.
|
|
|
|
# When the FLAT shared binary format is used, we force the installation
|
|
# of the corresponding libraries. When a different binary format is
|
|
# used, we offer the option of installing the FLAT shared libraries.
|
|
config BR2_BFIN_INSTALL_FLAT_SHARED
|
|
bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
|
|
depends on BR2_bfin
|
|
default y if BR2_BINFMT_FLAT_SHARED
|
|
help
|
|
The Linux kernel supports running both FDPIC and FLAT applications
|
|
concurrently if the binary format specific libraries are installed
|
|
properly. This option allows developer to install FLAT libraries
|
|
into a buildroot rootfs image built with binary format that is not
|
|
shared FLAT.
|
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL
|