kumquat-buildroot/package/gcc/Config.in.host

144 lines
4.3 KiB
Plaintext
Raw Normal View History

comment "GCC Options"
choice
prompt "GCC compiler Version"
default BR2_GCC_VERSION_ARC if BR2_arc
default BR2_GCC_VERSION_CSKY if BR2_csky
default BR2_GCC_VERSION_9_X
help
Select the version of gcc you wish to use.
config BR2_GCC_VERSION_ARC
bool "gcc arc (10.x)"
# Only supported architecture
depends on BR2_arc
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
config BR2_GCC_VERSION_CSKY
bool "gcc csky"
# Only supported architecture
depends on BR2_csky
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
config BR2_GCC_VERSION_8_X
bool "gcc 8.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
# Broken or unsupported architectures
depends on !BR2_or1k
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_VERSION_9_X
bool "gcc 9.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
# powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_powerpc_SPE
# C-SKY sk610 needs abiv1, which is not supported in
2020-03-13 00:41:27 +01:00
# upstream gcc. C-SKY gcc upstream support not tested
# with upstream binutils and glibc.
depends on !BR2_csky
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
config BR2_GCC_VERSION_10_X
bool "gcc 10.x"
# powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_powerpc_SPE
# C-SKY sk610 needs abiv1, which is not supported in
# upstream gcc. C-SKY gcc upstream support not tested
# with upstream binutils and glibc.
depends on !BR2_csky
select BR2_TOOLCHAIN_GCC_AT_LEAST_10
endchoice
# libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x
config BR2_GCC_SUPPORTS_LIBCILKRTS
bool
default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_SUPPORTS_DLANG
bool
default y if BR2_aarch64
default y if BR2_arm
default y if BR2_i386
default y if BR2_mips || BR2_mipsel
default y if BR2_mips64 || BR2_mips64el
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
default y if BR2_x86_64
default y if BR2_riscv && !BR2_RISCV_64
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
depends on BR2_TOOLCHAIN_USES_GLIBC
config BR2_GCC_VERSION
string
default "8.4.0" if BR2_GCC_VERSION_8_X
default "9.3.0" if BR2_GCC_VERSION_9_X
default "10.2.0" if BR2_GCC_VERSION_10_X
default "arc-2020.09-release" if BR2_GCC_VERSION_ARC
default "48152afb96c59733d5bc79e3399bb7b3d4b44266" if BR2_GCC_VERSION_CSKY
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_TOOLCHAIN_BUILDROOT_DLANG
bool "Enable D language support"
depends on BR2_GCC_SUPPORTS_DLANG
select BR2_TOOLCHAIN_HAS_DLANG
help
Enable this option if you want your toolchain to support the
D language and you want D libraries to be installed on your
target system.
toolchain: add link-time-optimization support Add a new option BR2_GCC_ENABLE_LTO that builds gcc and binutils with LTO support. Individual packages still have to enable LTO explicitly by passing '-flto' to GCC, which passes it on to the linker. This option does not add that flag globally. Some packages detect if the compiler supports LTO and enable the flag if it does. To support LTO, ar and ranlib must be called with an argument which triggers the usage of the LTO plugin. Since GCC doesn't call these tools itself, it instead provides wrappers for ar and ranlib that pass the LTO arguments. This way existing Makefiles don't need to be changed for LTO support. However, these wrappers are called <tuple>-gcc-ar which matches the pattern to link to the buildroot wrapper in the external toolchain logic. So the external toolchain logic is updated to provide the correct symlink. [Thomas: - Add a separate BR2_BINUTILS_ENABLE_LTO option to enable LTO support in binutils. This is a blind option, selected by BR2_GCC_ENABLE_LTO. It just avoids having binutils.mk poke directly into gcc Config.in options. - Remove the check on the AVR32 special gcc version, which we don't support anymore. - Adapt the help text of the LTO Config.in option to no longer mention "Since version 4.5", since we only support gcc >= 4.5 in Buildroot anyway. - Fix typo in toolchain-external.mk comment.] Signed-off-by: Peter Kümmel <syntheticpp@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-06 13:34:06 +01:00
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
select BR2_TOOLCHAIN_HAS_OPENMP
help
Enable OpenMP support for the compiler
config BR2_GCC_ENABLE_GRAPHITE
bool "Enable graphite support"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
help
This option enables the graphite optimizations in the
compiler.
comment "graphite support needs gcc >= 5.x"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5