d313a80d62
As discussed during the dev days. It is broken for uClibc/musl and architectures not using mainline gcc, so it has only very limited usefulness. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
207 lines
6.9 KiB
Plaintext
207 lines
6.9 KiB
Plaintext
comment "GCC Options"
|
|
|
|
config BR2_GCC_NEEDS_MPC
|
|
bool
|
|
|
|
config BR2_GCC_SUPPORTS_GRAPHITE
|
|
bool
|
|
|
|
choice
|
|
prompt "GCC compiler Version"
|
|
default BR2_GCC_VERSION_4_4_X if BR2_sparc_sparchfleon || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleon || BR2_sparc_sparcsfleonv8
|
|
default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32
|
|
default BR2_GCC_VERSION_4_8_ARC if BR2_arc
|
|
default BR2_GCC_VERSION_4_9_X if BR2_microblaze || BR2_powerpc64le
|
|
default BR2_GCC_VERSION_4_5_X if BR2_bfin
|
|
default BR2_GCC_VERSION_4_8_X
|
|
help
|
|
Select the version of gcc you wish to use.
|
|
|
|
config BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
|
|
bool "gcc 4.2.2-avr32-2.1.5"
|
|
# Only supported architecture
|
|
depends on BR2_avr32
|
|
|
|
config BR2_GCC_VERSION_4_4_X
|
|
bool "gcc 4.4.x"
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
|
|
&& !BR2_avr32 && !BR2_powerpc64le
|
|
# Broken or unsupported ARM cores
|
|
depends on !BR2_cortex_a5 && !BR2_cortex_a7 && \
|
|
!BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_fa526 && \
|
|
!BR2_pj4
|
|
# ARM EABIhf support appeared in gcc 4.6
|
|
depends on !BR2_ARM_EABIHF
|
|
# ARM VFPv4 support appeared in gcc 4.5
|
|
depends on !BR2_ARM_FPU_VFPV4 && !BR2_ARM_FPU_VFPV4D16
|
|
# Broken or unsupported PPC cores
|
|
depends on !BR2_powerpc_476 && !BR2_powerpc_476fp \
|
|
&& !BR2_power8
|
|
# Broken or unsupported x86 cores
|
|
depends on !BR2_x86_atom && !BR2_x86_corei7 && !BR2_x86_jaguar
|
|
# musl patches only for gcc 4.7+
|
|
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
|
|
|
config BR2_GCC_VERSION_4_5_X
|
|
bool "gcc 4.5.x"
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
|
|
&& !BR2_avr32 && !BR2_powerpc64le
|
|
# Broken or unsupported ARM cores
|
|
depends on !BR2_cortex_a7 && !BR2_cortex_a12 && \
|
|
!BR2_cortex_a15 && !BR2_fa526 && !BR2_pj4
|
|
# Broken or unsupported PPC cores
|
|
depends on !BR2_power8
|
|
# Broken or unsupported SPARC cores
|
|
depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
|
|
&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
|
|
# Broken or unsupported X86 cores
|
|
depends on !BR2_x86_corei7 && !BR2_x86_jaguar
|
|
# ARM EABIhf support appeared in gcc 4.6
|
|
depends on !BR2_ARM_EABIHF
|
|
# musl patches only for gcc 4.7+
|
|
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
|
select BR2_GCC_NEEDS_MPC
|
|
|
|
config BR2_GCC_VERSION_4_7_X
|
|
bool "gcc 4.7.x"
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
|
|
&& !BR2_avr32 && !BR2_bfin && !BR2_powerpc64le
|
|
# Broken or unsupported ARM cores
|
|
depends on !BR2_cortex_a12 && !BR2_pj4
|
|
# Broken or unsupported PPC cores
|
|
depends on !BR2_power8
|
|
# Broken or unsupported SPARC cores
|
|
depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
|
|
&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
|
|
# Broken or unsupported x86 cores
|
|
depends on !BR2_x86_jaguar
|
|
select BR2_GCC_NEEDS_MPC
|
|
|
|
config BR2_GCC_VERSION_4_8_X
|
|
bool "gcc 4.8.x"
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 \
|
|
&& !BR2_bfin && !BR2_powerpc64le
|
|
# Broken or unsupported ARM cores
|
|
depends on !BR2_cortex_a12
|
|
# Broken or unsupported PPC cores
|
|
depends on !BR2_power8
|
|
# Broken or unsupported SPARC cores
|
|
depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
|
|
&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
|
|
select BR2_GCC_NEEDS_MPC
|
|
select BR2_GCC_SUPPORTS_GRAPHITE
|
|
|
|
config BR2_GCC_VERSION_4_8_ARC
|
|
bool "gcc 4.8-arc"
|
|
# Only supported architecture
|
|
depends on BR2_arc
|
|
select BR2_GCC_NEEDS_MPC
|
|
|
|
config BR2_GCC_VERSION_4_9_X
|
|
bool "gcc 4.9.x"
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_arc && !BR2_avr32 && !BR2_bfin
|
|
# Broken or unsupported SPARC cores
|
|
depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
|
|
&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
|
|
# PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
|
|
select BR2_GCC_NEEDS_MPC
|
|
select BR2_GCC_SUPPORTS_GRAPHITE
|
|
|
|
endchoice
|
|
|
|
config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
|
|
bool
|
|
default y if !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
|
|
|
|
config BR2_GCC_VERSION
|
|
string
|
|
default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
|
|
default "4.4.7" if BR2_GCC_VERSION_4_4_X
|
|
default "4.5.4" if BR2_GCC_VERSION_4_5_X
|
|
default "4.7.4" if BR2_GCC_VERSION_4_7_X
|
|
default "4.8.3" if BR2_GCC_VERSION_4_8_X
|
|
default "4.9.1" if BR2_GCC_VERSION_4_9_X
|
|
default "arc-2014.08" if BR2_GCC_VERSION_4_8_ARC
|
|
|
|
config BR2_EXTRA_GCC_CONFIG_OPTIONS
|
|
string "Additional gcc options"
|
|
default ""
|
|
help
|
|
Any additional gcc configure options you may want to
|
|
include. Those options are applied for all of the gcc
|
|
initial, gcc intermediate and gcc final passes.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_CXX
|
|
bool "Enable C++ support"
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
depends on !(BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 && \
|
|
BR2_TOOLCHAIN_BUILDROOT_LOCALE)
|
|
help
|
|
Enable this option if you want your toolchain to support the
|
|
C++ language and you want C++ libraries to be installed on
|
|
your target system.
|
|
|
|
comment "C++ support broken in uClibc with locale enabled with gcc 4.2"
|
|
depends on BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 && BR2_TOOLCHAIN_BUILDROOT_LOCALE
|
|
|
|
config BR2_INSTALL_OBJC
|
|
bool "Enable Objective-C support"
|
|
depends on !BR2_avr32
|
|
depends on BR2_DEPRECATED_SINCE_2013_11
|
|
help
|
|
Enable the support for the Objective-C language in the
|
|
cross-compiler, and install the Objective-C runtime to the
|
|
target.
|
|
|
|
config BR2_INSTALL_FORTRAN
|
|
bool "Enable Fortran support"
|
|
depends on !BR2_avr32
|
|
depends on BR2_DEPRECATED_SINCE_2013_11
|
|
select BR2_PACKAGE_LIBMPFR
|
|
help
|
|
Enable the support for the Fortran language in the
|
|
cross-compiler, and install the Fortran runtime to the
|
|
target.
|
|
|
|
config BR2_GCC_ENABLE_TLS
|
|
bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
default y
|
|
depends on BR2_PTHREADS_NATIVE || BR2_TOOLCHAIN_BUILDROOT_EGLIBC || BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
|
help
|
|
Enable the compiler to generate code for accessing
|
|
thread local storage variables
|
|
|
|
config BR2_GCC_ENABLE_OPENMP
|
|
bool "Enable compiler OpenMP support"
|
|
depends on !BR2_PTHREADS_NONE && !BR2_avr32 && !BR2_arc && !BR2_microblaze
|
|
help
|
|
Enable OpenMP support for the compiler
|
|
|
|
config BR2_GCC_ENABLE_LIBMUDFLAP
|
|
bool "Enable libmudflap support"
|
|
# There are architectures, or specific configurations for
|
|
# which mudflap is not supported.
|
|
depends on !BR2_avr32 && !BR2_bfin && !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
|
|
depends on !BR2_GCC_VERSION_4_9_X
|
|
help
|
|
libmudflap is a gcc library used for the mudflap pointer
|
|
debugging functionality. It is only needed if you intend to
|
|
use the -fmudflap gcc flag.
|
|
|
|
See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging and
|
|
the help of the gcc -fmudflap option for more details.
|
|
|
|
If you're unsure, leave this option disabled.
|
|
|
|
config BR2_GCC_ENABLE_GRAPHITE
|
|
bool "Enable graphite support"
|
|
depends on BR2_GCC_SUPPORTS_GRAPHITE
|
|
help
|
|
This option enables the graphite optimizations in the
|
|
compiler.
|