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>
This commit is contained in:
Yann E. MORIN" 2011-03-28 01:05:18 +02:00
parent 05851ca0d9
commit 67d96ea16f
2 changed files with 48 additions and 24 deletions

View File

@ -23,114 +23,114 @@ config CC_V_linaro_4_5_2011_03_0
bool
prompt "linaro-4.5-2011.03-0 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_5_or_later
select CC_GCC_4_5
config CC_V_4_5_2
bool
prompt "4.5.2 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_5_or_later
select CC_GCC_4_5
config CC_V_4_5_1
bool
prompt "4.5.1 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_5_or_later
select CC_GCC_4_5
config CC_V_4_5_0
bool
prompt "4.5.0 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_5_or_later
select CC_GCC_4_5
config CC_V_linaro_4_4_2011_02_0
bool
prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_4_5
bool
prompt "4.4.5"
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_4_4
bool
prompt "4.4.4"
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_4_3
bool
prompt "4.4.3"
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_4_2
bool
prompt "4.4.2"
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_4_1
bool
prompt "4.4.1"
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_4_0
bool
prompt "4.4.0"
select CC_GCC_4_4_or_later
select CC_GCC_4_4
config CC_V_4_3_5
bool
prompt "4.3.5"
select CC_GCC_4_3_or_later
select CC_GCC_4_3
config CC_V_4_3_4
bool
prompt "4.3.4"
select CC_GCC_4_3_or_later
select CC_GCC_4_3
config CC_V_4_3_3
bool
prompt "4.3.3"
select CC_GCC_4_3_or_later
select CC_GCC_4_3
config CC_V_4_3_2
bool
prompt "4.3.2"
select CC_GCC_4_3_or_later
select CC_GCC_4_3
config CC_V_4_3_1
bool
prompt "4.3.1"
select CC_GCC_4_3_or_later
select CC_GCC_4_3
config CC_V_4_2_4
bool
prompt "4.2.4"
select CC_GCC_4_2_or_later
select CC_GCC_4_2
config CC_V_4_2_3
bool
prompt "4.2.3 (OBSOLETE)"
select CC_GCC_4_2_or_later
select CC_GCC_4_2
depends on OBSOLETE
config CC_V_4_2_2
bool
prompt "4.2.2"
select CC_GCC_4_2_or_later
select CC_GCC_4_2
config CC_V_4_2_1
bool
prompt "4.2.1 (OBSOLETE)"
select CC_GCC_4_2_or_later
select CC_GCC_4_2
depends on OBSOLETE
config CC_V_4_2_0
bool
prompt "4.2.0 (OBSOLETE)"
select CC_GCC_4_2_or_later
select CC_GCC_4_2
depends on OBSOLETE
config CC_V_4_1_2
@ -150,28 +150,51 @@ config CC_V_3_4_6
endchoice
config CC_GCC_4_2
bool
default n
select CC_GCC_4_2_or_later
config CC_GCC_4_2_or_later
bool
default n
config CC_GCC_4_3
bool
default n
select CC_GCC_4_3_or_later
select CC_GCC_USE_GMP_MPFR
config CC_GCC_4_3_or_later
bool
default n
select CC_GCC_4_2_or_later
config CC_GCC_4_4
bool
default n
select CC_GCC_4_4_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_HAS_GRAPHITE
config CC_GCC_4_4_or_later
bool
default n
select CC_GCC_4_3_or_later
config CC_GCC_4_5
bool
default n
select CC_GCC_4_5_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_USE_MPC
select CC_GCC_HAS_GRAPHITE
select CC_GCC_HAS_LTO
config CC_GCC_4_5_or_later
bool
default n
select CC_GCC_4_4_or_later
select CC_GCC_USE_MPC
select CC_GCC_HAS_LTO
config CC_GCC_HAS_GRAPHITE
bool

View File

@ -32,12 +32,13 @@ 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
config CC_GCC_USE_LTO
bool
prompt "Enable LTO"
default y
depends on CC_GCC_HAS_LTO
select CC_GCC_USE_LIBELF
select CC_GCC_USE_LIBELF if CC_GCC_4_5
help
Enable the Link Time Optimisations.