From 67d96ea16f57ef0994fd78e6a14ecd2eaa743c37 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 28 Mar 2011 01:05:18 +0200 Subject: 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 --git a/config/cc/gcc.in b/config/cc/gcc.in index a3fe1ff..a6db8ae 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -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 diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 642ea5b..bcb8d1f 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -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. -- cgit v0.10.2-6-g49f6