diff options
Diffstat (limited to 'config/cc')
-rw-r--r-- | config/cc/gcc.in | 119 | ||||
-rw-r--r-- | config/cc/gcc.in.2 | 29 |
2 files changed, 22 insertions, 126 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in index d9185291..f60d2598 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -7,6 +7,7 @@ ## select CC_SUPPORT_ADA ## select CC_SUPPORT_OBJC ## select CC_SUPPORT_OBJCXX +## select CC_SUPPORT_GOLANG ## ## help gcc is the full-blown GNU compiler. This is what most people will choose. ## help @@ -128,16 +129,6 @@ endif # ! CC_GCC_CUSTOM config CC_GCC_4_8 bool select CC_GCC_4_8_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_GCC_HAS_GRAPHITE - select CC_GCC_HAS_LTO - select CC_GCC_HAS_PKGVERSION_BUGURL - select CC_GCC_HAS_BUILD_ID - select CC_GCC_HAS_LNK_HASH_STYLE - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER - select CC_SUPPORT_GOLANG config CC_GCC_4_8_or_later bool @@ -145,16 +136,6 @@ config CC_GCC_4_8_or_later config CC_GCC_4_9 bool select CC_GCC_4_9_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_GCC_HAS_GRAPHITE - select CC_GCC_HAS_LTO - select CC_GCC_HAS_PKGVERSION_BUGURL - select CC_GCC_HAS_BUILD_ID - select CC_GCC_HAS_LNK_HASH_STYLE - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER - select CC_SUPPORT_GOLANG config CC_GCC_4_9_or_later bool @@ -163,17 +144,7 @@ config CC_GCC_4_9_or_later config CC_GCC_5 bool select CC_GCC_5_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_GCC_HAS_GRAPHITE - select CC_GCC_HAS_LTO - select CC_GCC_HAS_PKGVERSION_BUGURL - select CC_GCC_HAS_BUILD_ID - select CC_GCC_HAS_LNK_HASH_STYLE - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER select CC_GCC_HAS_LIBMPX - select CC_SUPPORT_GOLANG config CC_GCC_5_or_later bool @@ -182,17 +153,7 @@ config CC_GCC_5_or_later config CC_GCC_6 bool select CC_GCC_6_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_GCC_HAS_GRAPHITE - select CC_GCC_HAS_LTO - select CC_GCC_HAS_PKGVERSION_BUGURL - select CC_GCC_HAS_BUILD_ID - select CC_GCC_HAS_LNK_HASH_STYLE - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER select CC_GCC_HAS_LIBMPX - select CC_SUPPORT_GOLANG config CC_GCC_6_or_later bool @@ -201,64 +162,7 @@ config CC_GCC_6_or_later config CC_GCC_latest bool select CC_GCC_6_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_GCC_HAS_GRAPHITE - select CC_GCC_HAS_LTO - select CC_GCC_HAS_PKGVERSION_BUGURL - select CC_GCC_HAS_BUILD_ID - select CC_GCC_HAS_LNK_HASH_STYLE - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER - -config CC_GCC_HAS_GRAPHITE - bool - -# For graphite: gcc needs cloog and isl -# In >= gcc-5.x, cloog is no longer needed, but isl is. -# Prompt in config/cc/gcc.in.2 -config CC_GCC_USE_GRAPHITE - bool - default y - depends on CC_GCC_HAS_GRAPHITE - select CLOOG_NEEDED if !CC_GCC_5_or_later - select ISL_NEEDED - help - Enable the GRAPHITE loop optimsations. - - On some systems (eg. Cygwin), CLooG and ISL (required to enable - GRAPHITE) may not build properly (yet), so you'll have to say 'N' - here (or help debug the issues) - - TODO: Is this still true on Cygwin? - -# The way LTO works is a bit twisted. -# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements -# Basically: -# - if binutils has plugins: LTO is handled by ld/gold by loading -# the plugin when linking -# - if binutils does not have plugins: LTO is handled by collect2 -# In any case, LTO support does not depend on plugins, but takes -# advantage of it -config CC_GCC_HAS_LTO - bool - -# Prompt in config/cc/gcc.in.2 -config CC_GCC_USE_LTO - bool - default y - depends on CC_GCC_HAS_LTO - help - Enable the Link Time Optimisations. - -config CC_GCC_HAS_PKGVERSION_BUGURL - bool - -config CC_GCC_HAS_BUILD_ID - bool - -config CC_GCC_HAS_LNK_HASH_STYLE - bool + select CC_GCC_HAS_LIBMPX # Only enable gcc's support for plugins if binutils has it as well # They are useful only when doing LTO, but it does no harm enabling @@ -275,21 +179,6 @@ config CC_GCC_GOLD depends on BINUTILS_GOLD_INSTALLED default y -config CC_GCC_USE_GMP_MPFR - bool - select GMP_NEEDED - select MPFR_NEEDED - -config CC_GCC_USE_MPC - bool - select MPC_NEEDED - -config CC_GCC_HAS_LIBQUADMATH - bool - -config CC_GCC_HAS_LIBSANITIZER - bool - config CC_GCC_HAS_LIBMPX bool @@ -315,8 +204,4 @@ config CC_LANG_JAVA_USE_ECJ default y depends on CC_LANG_JAVA -# Fortran always requires GMP+MPFR, whatever the gcc version -config CC_LANG_FORTRAN - select CC_GCC_USE_GMP_MPFR - source "config/cc/gcc.in.2" diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index aad488b4..638bfe93 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -96,8 +96,22 @@ config CC_GCC_SYSTEM_ZLIB comment "Optimisation features" # Defined in config/cc/gcc.in +# For graphite: gcc needs cloog and isl +# In >= gcc-5.x, cloog is no longer needed, but isl is. +# Prompt in config/cc/gcc.in.2 config CC_GCC_USE_GRAPHITE - prompt "Enable GRAPHITE loop optimisations" + bool "Enable GRAPHITE loop optimisations" + default y + select CLOOG_NEEDED if !CC_GCC_5_or_later + select ISL_NEEDED + help + Enable the GRAPHITE loop optimsations. + + On some systems (eg. Cygwin), CLooG and ISL (required to enable + GRAPHITE) may not build properly (yet), so you'll have to say 'N' + here (or help debug the issues) + + TODO: Is this still true on Cygwin? # The way LTO works is a bit twisted. # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements @@ -107,11 +121,12 @@ config CC_GCC_USE_GRAPHITE # - if binutils does not have plugins: LTO is handled by collect2 # In any case, LTO support does not depend on plugins, but takes # advantage of it -# Also, only the 4.5 series needs libelf for LTO; 4.6 has dropped -# the dependency. -# Defined in config/cc/gcc.in config CC_GCC_USE_LTO - prompt "Enable LTO" + bool "Enable LTO" + default y + depends on ! STATIC_TOOLCHAIN + help + Enable the Link Time Optimisations. #----------------------------------------------------------------------------- comment "Settings for libraries running on target" @@ -163,7 +178,6 @@ config CC_GCC_LIBSSP config CC_GCC_LIBQUADMATH bool prompt "Compile libquadmath" - depends on CC_GCC_HAS_LIBQUADMATH help libquadmath is a library which provides quad-precision mathematical functions on targets supporting the __float128 datatype. See: @@ -174,7 +188,6 @@ config CC_GCC_LIBQUADMATH config CC_GCC_LIBSANITIZER bool prompt "Compile libsanitizer" - depends on CC_GCC_HAS_LIBSANITIZER depends on THREADS_NATIVE depends on ! LIBC_uClibc && ! LIBC_musl # Currently lacks required headers (like netrom.h) help @@ -258,7 +271,6 @@ config CC_GCC_LDBL_128 config CC_GCC_BUILD_ID bool prompt "Enable build-id" - depends on CC_GCC_HAS_BUILD_ID help Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable option), @@ -271,7 +283,6 @@ config CC_GCC_BUILD_ID choice CC_GCC_LNK_HASH_STYLE_CHOICE bool prompt "linker hash style" - depends on CC_GCC_HAS_LNK_HASH_STYLE depends on BINUTILS_HAS_HASH_STYLE config CC_GCC_LNK_HASH_STYLE_DEFAULT |