cc/gcc: cleanup the _or_later logic
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 23620888065f8c4d
parent 2361 e65be7e72d8a
child 2363 bc2714299363
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
config/cc/gcc.in
config/cc/gcc.in.2
     1.1 --- a/config/cc/gcc.in	Mon Mar 28 01:04:17 2011 +0200
     1.2 +++ b/config/cc/gcc.in	Mon Mar 28 01:05:18 2011 +0200
     1.3 @@ -23,114 +23,114 @@
     1.4      bool
     1.5      prompt "linaro-4.5-2011.03-0 (EXPERIMENTAL)"
     1.6      depends on EXPERIMENTAL
     1.7 -    select CC_GCC_4_5_or_later
     1.8 +    select CC_GCC_4_5
     1.9  
    1.10  config CC_V_4_5_2
    1.11      bool
    1.12      prompt "4.5.2 (EXPERIMENTAL)"
    1.13      depends on EXPERIMENTAL
    1.14 -    select CC_GCC_4_5_or_later
    1.15 +    select CC_GCC_4_5
    1.16  
    1.17  config CC_V_4_5_1
    1.18      bool
    1.19      prompt "4.5.1 (EXPERIMENTAL)"
    1.20      depends on EXPERIMENTAL
    1.21 -    select CC_GCC_4_5_or_later
    1.22 +    select CC_GCC_4_5
    1.23  
    1.24  config CC_V_4_5_0
    1.25      bool
    1.26      prompt "4.5.0 (EXPERIMENTAL)"
    1.27      depends on EXPERIMENTAL
    1.28 -    select CC_GCC_4_5_or_later
    1.29 +    select CC_GCC_4_5
    1.30  
    1.31  
    1.32  config CC_V_linaro_4_4_2011_02_0
    1.33      bool
    1.34      prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
    1.35      depends on EXPERIMENTAL
    1.36 -    select CC_GCC_4_4_or_later
    1.37 +    select CC_GCC_4_4
    1.38  
    1.39  config CC_V_4_4_5
    1.40      bool
    1.41      prompt "4.4.5"
    1.42 -    select CC_GCC_4_4_or_later
    1.43 +    select CC_GCC_4_4
    1.44  
    1.45  config CC_V_4_4_4
    1.46      bool
    1.47      prompt "4.4.4"
    1.48 -    select CC_GCC_4_4_or_later
    1.49 +    select CC_GCC_4_4
    1.50  
    1.51  config CC_V_4_4_3
    1.52      bool
    1.53      prompt "4.4.3"
    1.54 -    select CC_GCC_4_4_or_later
    1.55 +    select CC_GCC_4_4
    1.56  
    1.57  config CC_V_4_4_2
    1.58      bool
    1.59      prompt "4.4.2"
    1.60 -    select CC_GCC_4_4_or_later
    1.61 +    select CC_GCC_4_4
    1.62  
    1.63  config CC_V_4_4_1
    1.64      bool
    1.65      prompt "4.4.1"
    1.66 -    select CC_GCC_4_4_or_later
    1.67 +    select CC_GCC_4_4
    1.68  
    1.69  config CC_V_4_4_0
    1.70      bool
    1.71      prompt "4.4.0"
    1.72 -    select CC_GCC_4_4_or_later
    1.73 +    select CC_GCC_4_4
    1.74  
    1.75  config CC_V_4_3_5
    1.76      bool
    1.77      prompt "4.3.5"
    1.78 -    select CC_GCC_4_3_or_later
    1.79 +    select CC_GCC_4_3
    1.80  
    1.81  config CC_V_4_3_4
    1.82      bool
    1.83      prompt "4.3.4"
    1.84 -    select CC_GCC_4_3_or_later
    1.85 +    select CC_GCC_4_3
    1.86  
    1.87  config CC_V_4_3_3
    1.88      bool
    1.89      prompt "4.3.3"
    1.90 -    select CC_GCC_4_3_or_later
    1.91 +    select CC_GCC_4_3
    1.92  
    1.93  config CC_V_4_3_2
    1.94      bool
    1.95      prompt "4.3.2"
    1.96 -    select CC_GCC_4_3_or_later
    1.97 +    select CC_GCC_4_3
    1.98  
    1.99  config CC_V_4_3_1
   1.100      bool
   1.101      prompt "4.3.1"
   1.102 -    select CC_GCC_4_3_or_later
   1.103 +    select CC_GCC_4_3
   1.104  
   1.105  config CC_V_4_2_4
   1.106      bool
   1.107      prompt "4.2.4"
   1.108 -    select CC_GCC_4_2_or_later
   1.109 +    select CC_GCC_4_2
   1.110  
   1.111  config CC_V_4_2_3
   1.112      bool
   1.113      prompt "4.2.3 (OBSOLETE)"
   1.114 -    select CC_GCC_4_2_or_later
   1.115 +    select CC_GCC_4_2
   1.116      depends on OBSOLETE
   1.117  
   1.118  config CC_V_4_2_2
   1.119      bool
   1.120      prompt "4.2.2"
   1.121 -    select CC_GCC_4_2_or_later
   1.122 +    select CC_GCC_4_2
   1.123  
   1.124  config CC_V_4_2_1
   1.125      bool
   1.126      prompt "4.2.1 (OBSOLETE)"
   1.127 -    select CC_GCC_4_2_or_later
   1.128 +    select CC_GCC_4_2
   1.129      depends on OBSOLETE
   1.130  
   1.131  config CC_V_4_2_0
   1.132      bool
   1.133      prompt "4.2.0 (OBSOLETE)"
   1.134 -    select CC_GCC_4_2_or_later
   1.135 +    select CC_GCC_4_2
   1.136      depends on OBSOLETE
   1.137  
   1.138  config CC_V_4_1_2
   1.139 @@ -150,28 +150,51 @@
   1.140  
   1.141  endchoice
   1.142  
   1.143 +config CC_GCC_4_2
   1.144 +    bool
   1.145 +    default n
   1.146 +    select CC_GCC_4_2_or_later
   1.147 +
   1.148  config CC_GCC_4_2_or_later
   1.149      bool
   1.150      default n
   1.151  
   1.152 +config CC_GCC_4_3
   1.153 +    bool
   1.154 +    default n
   1.155 +    select CC_GCC_4_3_or_later
   1.156 +    select CC_GCC_USE_GMP_MPFR
   1.157 +
   1.158  config CC_GCC_4_3_or_later
   1.159      bool
   1.160      default n
   1.161      select CC_GCC_4_2_or_later
   1.162 +
   1.163 +config CC_GCC_4_4
   1.164 +    bool
   1.165 +    default n
   1.166 +    select CC_GCC_4_4_or_later
   1.167      select CC_GCC_USE_GMP_MPFR
   1.168 +    select CC_GCC_HAS_GRAPHITE
   1.169  
   1.170  config CC_GCC_4_4_or_later
   1.171      bool
   1.172      default n
   1.173      select CC_GCC_4_3_or_later
   1.174 +
   1.175 +config CC_GCC_4_5
   1.176 +    bool
   1.177 +    default n
   1.178 +    select CC_GCC_4_5_or_later
   1.179 +    select CC_GCC_USE_GMP_MPFR
   1.180 +    select CC_GCC_USE_MPC
   1.181      select CC_GCC_HAS_GRAPHITE
   1.182 +    select CC_GCC_HAS_LTO
   1.183  
   1.184  config CC_GCC_4_5_or_later
   1.185      bool
   1.186      default n
   1.187      select CC_GCC_4_4_or_later
   1.188 -    select CC_GCC_USE_MPC
   1.189 -    select CC_GCC_HAS_LTO
   1.190  
   1.191  config CC_GCC_HAS_GRAPHITE
   1.192      bool
     2.1 --- a/config/cc/gcc.in.2	Mon Mar 28 01:04:17 2011 +0200
     2.2 +++ b/config/cc/gcc.in.2	Mon Mar 28 01:05:18 2011 +0200
     2.3 @@ -32,12 +32,13 @@
     2.4  #   - if binutils does not have plugins: LTO is handled by collect2
     2.5  # In any case, LTO support does not depend on plugins, but takes
     2.6  # advantage of it
     2.7 +# Also, only the 4.5 series needs libelf for LTO
     2.8  config CC_GCC_USE_LTO
     2.9      bool
    2.10      prompt "Enable LTO"
    2.11      default y
    2.12      depends on CC_GCC_HAS_LTO
    2.13 -    select CC_GCC_USE_LIBELF
    2.14 +    select CC_GCC_USE_LIBELF if CC_GCC_4_5
    2.15      help
    2.16        Enable the Link Time Optimisations.
    2.17