kumquat-buildroot/package/gcc/Config.in.host
Vicente Olivert Riera 067a46474a MIPS: add support for M5100 cores
-march=m5100 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5100 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5100 as
well.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00

206 lines
6.7 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_ARC if BR2_arc
default BR2_GCC_VERSION_5_X
help
Select the version of gcc you wish to use.
config BR2_GCC_VERSION_4_7_X
bool "gcc 4.7.x"
depends on BR2_DEPRECATED_SINCE_2016_05
# Broken or unsupported architectures
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
&& !BR2_powerpc64le && !BR2_nios2 && !BR2_bfin
# Broken or unsupported ARM cores
depends on !BR2_cortex_a12 && !BR2_pj4 && !BR2_cortex_a17
# Broken or unsupported PPC cores
depends on !BR2_powerpc_e5500 && !BR2_powerpc_e6500 && \
!BR2_powerpc_power8
# SPARC -mcpu=leon3 appeared in gcc 4.8.x
depends on !BR2_sparc_leon3
# Broken or unsupported x86 cores
depends on !BR2_x86_jaguar && !BR2_x86_steamroller
# Unsupported MIPS cores
depends on !BR2_mips_interaptiv
# Unsupported for MIPS R5
depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
# Unsupported for MIPS R6
depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
# musl ppc64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
select BR2_GCC_NEEDS_MPC
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
config BR2_GCC_VERSION_4_8_X
bool "gcc 4.8.x"
# Broken or unsupported architectures
depends on !BR2_microblaze && !BR2_arc \
&& !BR2_powerpc64le && !BR2_nios2 && !BR2_bfin
# Broken or unsupported ARM cores
depends on !BR2_cortex_a12 && !BR2_cortex_a17
# Broken or unsupported PPC cores
depends on !BR2_powerpc_power8
# Unsupported MIPS cores
depends on !BR2_mips_interaptiv
# gcc-4.8.x + binutils-2.25 is broken for MIPS
depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X)
# Unsupported for MIPS R5
depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
# Unsupported for MIPS R6
depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
# musl ppc64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
# musl mips64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
select BR2_GCC_NEEDS_MPC
select BR2_GCC_SUPPORTS_GRAPHITE
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
config BR2_GCC_VERSION_ARC
bool "gcc arc (6.x)"
# Only supported architecture
depends on BR2_arc
select BR2_GCC_NEEDS_MPC
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
config BR2_GCC_VERSION_4_9_X
bool "gcc 4.9.x"
# Broken or unsupported architectures
depends on !BR2_arc && !BR2_bfin
# Broken or unsupported ARM cores
depends on !BR2_cortex_a17
# Unsupported MIPS cores
depends on !BR2_mips_interaptiv
# Unsupported for MIPS R5
depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
# Unsupported for MIPS R6
depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
# musl ppc64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
# musl mips64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
# PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
select BR2_GCC_NEEDS_MPC
select BR2_GCC_SUPPORTS_GRAPHITE
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_GCC_VERSION_5_X
bool "gcc 5.x"
# Broken or unsupported architectures
depends on !BR2_arc && !BR2_bfin
# musl ppc64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
# Unsupported MIPS cores
depends on !BR2_mips_interaptiv && !BR2_mips_m5100
# musl mips64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
select BR2_GCC_NEEDS_MPC
select BR2_GCC_SUPPORTS_GRAPHITE
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
config BR2_GCC_VERSION_6_X
bool "gcc 6.x"
# Broken or unsupported architectures
depends on !BR2_arc
select BR2_GCC_NEEDS_MPC
select BR2_GCC_SUPPORTS_GRAPHITE
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
endchoice
# Indicates if GCC for architecture supports --with-{arch,cpu,..} to
# set default CFLAGS, otherwise values will be used by toolchain
# wrapper.
config BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS
bool
default y if !BR2_bfin
config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
bool
default y
config BR2_GCC_VERSION
string
default "4.7.4" if BR2_GCC_VERSION_4_7_X
default "4.8.5" if BR2_GCC_VERSION_4_8_X
default "4.9.4" if BR2_GCC_VERSION_4_9_X
default "5.4.0" if BR2_GCC_VERSION_5_X
default "6.2.0" if BR2_GCC_VERSION_6_X
default "arc-2016.09-eng015" if BR2_GCC_VERSION_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
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 "Fortran support needs a toolchain w/ wchar"
depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
depends on !BR2_USE_WCHAR # libquadmath
config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
bool "Enable Fortran support"
# on architecture building libquadmath, wchar is required
depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
(BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
select BR2_TOOLCHAIN_HAS_FORTRAN
help
Enable this option if you want your toolchain to support the
Fortran language and you want Fortran libraries to be
installed on your target system.
config BR2_GCC_ENABLE_LTO
bool "Enable compiler link-time-optimization support"
select BR2_BINUTILS_ENABLE_LTO
help
This option enables link-time optimization (LTO) support in
gcc.
config BR2_GCC_ENABLE_OPENMP
bool "Enable compiler OpenMP support"
depends on !BR2_PTHREADS_NONE && !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_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
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.