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

View File

@ -32,12 +32,13 @@ config CC_GCC_USE_GRAPHITE
# - if binutils does not have plugins: LTO is handled by collect2 # - if binutils does not have plugins: LTO is handled by collect2
# In any case, LTO support does not depend on plugins, but takes # In any case, LTO support does not depend on plugins, but takes
# advantage of it # advantage of it
# Also, only the 4.5 series needs libelf for LTO
config CC_GCC_USE_LTO config CC_GCC_USE_LTO
bool bool
prompt "Enable LTO" prompt "Enable LTO"
default y default y
depends on CC_GCC_HAS_LTO depends on CC_GCC_HAS_LTO
select CC_GCC_USE_LIBELF select CC_GCC_USE_LIBELF if CC_GCC_4_5
help help
Enable the Link Time Optimisations. Enable the Link Time Optimisations.