# HG changeset patch # User "Yann E. MORIN" # Date 1301267118 -7200 # Node ID 0888065f8c4d92ce559266bae4ac32cb0ac5ee61 # Parent e65be7e72d8a5a558a93c8c796eb6a228e493a8a 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" diff -r e65be7e72d8a -r 0888065f8c4d config/cc/gcc.in --- a/config/cc/gcc.in Mon Mar 28 01:04:17 2011 +0200 +++ b/config/cc/gcc.in Mon Mar 28 01:05:18 2011 +0200 @@ -23,114 +23,114 @@ 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 @@ 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 diff -r e65be7e72d8a -r 0888065f8c4d config/cc/gcc.in.2 --- a/config/cc/gcc.in.2 Mon Mar 28 01:04:17 2011 +0200 +++ b/config/cc/gcc.in.2 Mon Mar 28 01:05:18 2011 +0200 @@ -32,12 +32,13 @@ # - 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.