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

144 lines
4.2 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_8_X
help
Select the version of gcc you wish to use.
config BR2_GCC_VERSION_ARC
bool "gcc arc (9.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
package/gcc: add support for gcc 7 Remove upstream patches: 831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch 870-xtensa-Fix-PR-target-78118.patch 871-xtensa-Fix-PR-target-78603.patch 890-fix-m68k-compile.patch: https://github.com/gcc-mirror/gcc/commit/1701058da920d27de87dc82e8d327b8ca930e997 892-libgcc-mkmap-symver-support-skip_underscore.patch: https://github.com/gcc-mirror/gcc/commit/6c8f362e1f17cce05131eb8ff53963d64bc69484 893-libgcc-config-bfin-use-the-generic-linker-version-in.patch: https://github.com/gcc-mirror/gcc/commit/966d046c08ba50fc988ac614f84f2d49c1546e28 894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch: https://github.com/gcc-mirror/gcc/commit/397d0e43abb943f1fe57801220e7e46bc6636c7c 895-bfin-define-REENTRANT.patch: https://github.com/gcc-mirror/gcc/commit/da89a4dcdf75bc3134f73520535c949bbbb0c845 940-uclinux-enable-threads.patch: https://github.com/gcc-mirror/gcc/commit/b9ce54109ec78d18f6123a1e54aae1293bede716 941-mips-Add-support-for-mips-r6-musl.patch: https://github.com/gcc-mirror/gcc/commit/83717065090bb8b954556d1216dd9dc397dc0243 Remove obsolete patches: 301-missing-execinfo_h.patch: boehm-gc removed from gcc sources: https://github.com/gcc-mirror/gcc/commit/baf71228766058f5541d929891237d394376c975 830-arm_unbreak_armv4t.patch: SUBTARGET_CPU_DEFAULT removed: https://github.com/gcc-mirror/gcc/commit/ff3caa3ade14a42d5ab7e81cbd3605fe15aa998d Add a new patch to allow to build gcc 7.1 without extracting gcc/testsuite directory. This new gcc version require a kernel patch [1] to avoid a build issue with ____ilog2_NaN symbol. The following kernel version contain contain already this patch : 4.11, 4.10.6, 4.9.18, 4.4.57, 3.18.50 and 3.12.73. To build a toolchain based on gcc 7 and uClibc-ng 1.0.24, the patch [2] is required to avoid a build issue due to missing aligned_alloc() definition. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=474c90156c8dcc2fa815e6716cc9394d7930cb9c [2] https://cgit.openadk.org/cgi/cgit/uclibc-ng.git/commit/?id=5b0f49037e8ea8500b05c8f31ee88529ccac4cee Signed-off-by: Romain Naour <romain.naour@gmail.com> Tested-by: Theodore Ateba <tf.ateba@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-23 22:24:39 +02:00
config BR2_GCC_VERSION_7_X
bool "gcc 7.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
package/gcc: add support for gcc 7 Remove upstream patches: 831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch 870-xtensa-Fix-PR-target-78118.patch 871-xtensa-Fix-PR-target-78603.patch 890-fix-m68k-compile.patch: https://github.com/gcc-mirror/gcc/commit/1701058da920d27de87dc82e8d327b8ca930e997 892-libgcc-mkmap-symver-support-skip_underscore.patch: https://github.com/gcc-mirror/gcc/commit/6c8f362e1f17cce05131eb8ff53963d64bc69484 893-libgcc-config-bfin-use-the-generic-linker-version-in.patch: https://github.com/gcc-mirror/gcc/commit/966d046c08ba50fc988ac614f84f2d49c1546e28 894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch: https://github.com/gcc-mirror/gcc/commit/397d0e43abb943f1fe57801220e7e46bc6636c7c 895-bfin-define-REENTRANT.patch: https://github.com/gcc-mirror/gcc/commit/da89a4dcdf75bc3134f73520535c949bbbb0c845 940-uclinux-enable-threads.patch: https://github.com/gcc-mirror/gcc/commit/b9ce54109ec78d18f6123a1e54aae1293bede716 941-mips-Add-support-for-mips-r6-musl.patch: https://github.com/gcc-mirror/gcc/commit/83717065090bb8b954556d1216dd9dc397dc0243 Remove obsolete patches: 301-missing-execinfo_h.patch: boehm-gc removed from gcc sources: https://github.com/gcc-mirror/gcc/commit/baf71228766058f5541d929891237d394376c975 830-arm_unbreak_armv4t.patch: SUBTARGET_CPU_DEFAULT removed: https://github.com/gcc-mirror/gcc/commit/ff3caa3ade14a42d5ab7e81cbd3605fe15aa998d Add a new patch to allow to build gcc 7.1 without extracting gcc/testsuite directory. This new gcc version require a kernel patch [1] to avoid a build issue with ____ilog2_NaN symbol. The following kernel version contain contain already this patch : 4.11, 4.10.6, 4.9.18, 4.4.57, 3.18.50 and 3.12.73. To build a toolchain based on gcc 7 and uClibc-ng 1.0.24, the patch [2] is required to avoid a build issue due to missing aligned_alloc() definition. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=474c90156c8dcc2fa815e6716cc9394d7930cb9c [2] https://cgit.openadk.org/cgi/cgit/uclibc-ng.git/commit/?id=5b0f49037e8ea8500b05c8f31ee88529ccac4cee Signed-off-by: Romain Naour <romain.naour@gmail.com> Tested-by: Theodore Ateba <tf.ateba@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-23 22:24:39 +02:00
# Broken or unsupported architectures
depends on !BR2_or1k
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
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
# 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
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_VERSION_9_X
bool "gcc 9.x"
# or1k needs binutils >= 2.32
depends on !(BR2_or1k && BR2_BINUTILS_VERSION_2_31_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
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
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 "7.5.0" if BR2_GCC_VERSION_7_X
default "8.4.0" if BR2_GCC_VERSION_8_X
default "9.3.0" if BR2_GCC_VERSION_9_X
default "arc-2019.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