2013-06-30 21:28:59 +02:00
|
|
|
comment "GCC Options"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "GCC compiler Version"
|
2016-08-11 15:25:38 +02:00
|
|
|
default BR2_GCC_VERSION_ARC if BR2_arc
|
2019-05-31 08:39:04 +02:00
|
|
|
default BR2_GCC_VERSION_CSKY if BR2_csky
|
2020-06-09 00:13:47 +02:00
|
|
|
default BR2_GCC_VERSION_9_X
|
2013-06-30 21:28:59 +02:00
|
|
|
help
|
|
|
|
Select the version of gcc you wish to use.
|
|
|
|
|
2017-04-22 19:17:47 +02:00
|
|
|
config BR2_GCC_VERSION_ARC
|
2020-11-28 12:00:40 +01:00
|
|
|
bool "gcc arc (10.x)"
|
2017-04-22 19:17:47 +02:00
|
|
|
# Only supported architecture
|
|
|
|
depends on BR2_arc
|
2019-10-15 11:02:58 +02:00
|
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
|
2015-08-04 20:00:34 +02:00
|
|
|
|
2019-05-31 08:39:04 +02:00
|
|
|
config BR2_GCC_VERSION_CSKY
|
|
|
|
bool "gcc csky"
|
|
|
|
# Only supported architecture
|
|
|
|
depends on BR2_csky
|
|
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
|
|
|
2018-05-29 23:52:55 +02:00
|
|
|
config BR2_GCC_VERSION_8_X
|
|
|
|
bool "gcc 8.x"
|
2019-06-20 12:07:16 +02:00
|
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
2018-05-29 23:52:55 +02:00
|
|
|
# Broken or unsupported architectures
|
|
|
|
depends on !BR2_or1k
|
|
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
|
2019-06-20 12:07:15 +02:00
|
|
|
config BR2_GCC_VERSION_9_X
|
|
|
|
bool "gcc 9.x"
|
2020-06-09 00:13:45 +02:00
|
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
2019-06-20 12:07:15 +02:00
|
|
|
# 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
|
2019-07-18 23:06:27 +02:00
|
|
|
# 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
|
2019-06-20 12:07:15 +02:00
|
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
|
|
|
|
|
2020-06-09 00:13:44 +02:00
|
|
|
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
|
|
|
|
|
2013-06-30 21:28:59 +02:00
|
|
|
endchoice
|
|
|
|
|
2019-08-02 15:09:35 +02:00
|
|
|
# libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x
|
2018-10-21 13:54:14 +02:00
|
|
|
config BR2_GCC_SUPPORTS_LIBCILKRTS
|
|
|
|
bool
|
|
|
|
default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
|
2019-10-24 20:16:20 +02:00
|
|
|
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
|
2019-10-25 20:18:09 +02:00
|
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
|
|
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
2019-10-24 20:16:20 +02:00
|
|
|
|
2013-06-30 21:28:59 +02:00
|
|
|
config BR2_GCC_VERSION
|
|
|
|
string
|
2020-03-10 00:50:30 +01:00
|
|
|
default "8.4.0" if BR2_GCC_VERSION_8_X
|
2020-03-15 17:18:46 +01:00
|
|
|
default "9.3.0" if BR2_GCC_VERSION_9_X
|
2020-07-25 01:13:41 +02:00
|
|
|
default "10.2.0" if BR2_GCC_VERSION_10_X
|
2020-11-02 15:50:54 +01:00
|
|
|
default "arc-2020.09-release" if BR2_GCC_VERSION_ARC
|
2019-05-31 08:39:04 +02:00
|
|
|
default "48152afb96c59733d5bc79e3399bb7b3d4b44266" if BR2_GCC_VERSION_CSKY
|
2013-06-30 21:28:59 +02:00
|
|
|
|
|
|
|
config BR2_EXTRA_GCC_CONFIG_OPTIONS
|
|
|
|
string "Additional gcc options"
|
|
|
|
default ""
|
|
|
|
help
|
gcc: use BR2_EXTRA_GCC_CONFIG_OPTIONS in gcc-initial and gcc-intermediate
When refactoring the internal toolchain backend logic, the code was
changed to pass the custom configure options given through
BR2_EXTRA_GCC_CONFIG_OPTIONS only for the gcc final pass, with the
idea that we're only interested by user customization for the final
compiler.
However, the beaglebone_defconfig was passing --with-float=hard
--with-fpu=vfpv3-d16 as BR2_EXTRA_GCC_CONFIG_OPTIONS, and since the
refactoring, it was causing build failures of the beaglebone_defconfig
(with messages saying that Busybox is built to use VFP arguments, but
libc/libm are not). This is due to the fact that the gcc intermediate,
which is used to build the C library, wasn't built to generate hard
float, while the final compiler was generating hard float.
So, we get back to the original situation where the options in
BR2_EXTRA_GCC_CONFIG_OPTIONS are passed to all of the compiler
passes. Of course, the specific case of hard float will be fixed by
following patches in this area, but the idea still remains: the three
gcc should have the same options, if those options affected the ABI of
the generated code.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-14 00:27:24 +02:00
|
|
|
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.
|
2013-06-30 21:28:59 +02:00
|
|
|
|
2013-09-02 18:06:32 +02:00
|
|
|
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.
|
|
|
|
|
2016-07-03 15:47:39 +02:00
|
|
|
comment "Fortran support needs a toolchain w/ wchar"
|
|
|
|
depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
|
|
|
|
depends on !BR2_USE_WCHAR # libquadmath
|
|
|
|
|
2015-05-09 19:40:54 +02:00
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
|
|
|
|
bool "Enable Fortran support"
|
2016-07-03 15:47:39 +02:00
|
|
|
# on architecture building libquadmath, wchar is required
|
|
|
|
depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
|
|
|
|
(BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
|
2016-07-03 15:47:42 +02:00
|
|
|
select BR2_TOOLCHAIN_HAS_FORTRAN
|
2015-05-09 19:40:54 +02:00
|
|
|
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.
|
|
|
|
|
2019-10-24 20:16:20 +02:00
|
|
|
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.
|
|
|
|
|
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.
|
|
|
|
|
2013-06-30 21:28:59 +02:00
|
|
|
config BR2_GCC_ENABLE_OPENMP
|
|
|
|
bool "Enable compiler OpenMP support"
|
2015-02-14 10:23:11 +01:00
|
|
|
depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
|
2019-03-26 13:30:45 +01:00
|
|
|
select BR2_TOOLCHAIN_HAS_OPENMP
|
2013-06-30 21:28:59 +02:00
|
|
|
help
|
|
|
|
Enable OpenMP support for the compiler
|
2013-09-02 18:06:38 +02:00
|
|
|
|
2014-05-19 21:48:13 +02:00
|
|
|
config BR2_GCC_ENABLE_GRAPHITE
|
|
|
|
bool "Enable graphite support"
|
2017-08-02 01:43:00 +02:00
|
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
2014-05-19 21:48:13 +02:00
|
|
|
help
|
|
|
|
This option enables the graphite optimizations in the
|
|
|
|
compiler.
|
2017-08-02 01:43:00 +02:00
|
|
|
|
|
|
|
comment "graphite support needs gcc >= 5.x"
|
|
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
|