summaryrefslogtreecommitdiff
path: root/config/cc
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-02-19 02:16:25 (GMT)
committerAlexey Neyman <stilor@att.net>2017-02-19 02:36:34 (GMT)
commitf0716643b41aaff6ba37ea629ccead7b2011f618 (patch)
tree81a8f45595d9d3dbd5d545e29884d0ecca2c0d99 /config/cc
parenteb8c9024b4fe51925aff3d8d158188a97034a445 (diff)
Garbage collection for GCC options that are same
... on all supported versions. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'config/cc')
-rw-r--r--config/cc/gcc.in80
-rw-r--r--config/cc/gcc.in.226
2 files changed, 19 insertions, 87 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index c1996e9..99bd3d2 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -130,11 +130,6 @@ config CC_GCC_4_8
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
@@ -147,11 +142,6 @@ config CC_GCC_4_9
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
@@ -165,11 +155,6 @@ config CC_GCC_5
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
@@ -184,11 +169,6 @@ config CC_GCC_6
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
@@ -203,63 +183,9 @@ config CC_GCC_latest
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
-
# 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
# them even without LTO.
@@ -284,12 +210,6 @@ 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
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index aad488b..6c99f20 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,11 @@ 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
+ help
+ Enable the Link Time Optimisations.
#-----------------------------------------------------------------------------
comment "Settings for libraries running on target"
@@ -258,7 +272,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 +284,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