From ad6c7066a6a7d64b4adf2c8d7c80faaf23e1074b Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 20 Feb 2011 22:09:51 +0000
Subject: gcc: remove arch default duplication, fix version selection for
 !TOOLCHAINOPTS

SVN-Revision: 25633
---
 toolchain/gcc/Config.in      |  9 +++------
 toolchain/gcc/Config.version | 46 +++++++++++++++++++++++++++++++++-----------
 2 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 2b42f932df..204219e7ea 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -2,12 +2,9 @@
 
 choice
 	prompt "GCC compiler Version" if TOOLCHAINOPTS
-	default GCC_VERSION_4_3_5 if (avr32 || powerpc64)
-	default GCC_VERSION_4_3_5 if (TARGET_coldfire || TARGET_etrax || TARGET_gemini || TARGET_cns21xx)
-	default GCC_VERSION_4_3_3_CS if (arm || armeb) && !(TARGET_gemini || TARGET_cns21xx || TARGET_omap35xx)
-	default GCC_VERSION_4_3_3_CS if (mips || mipsel) && !(TARGET_octeon || TARGET_sibyte)
-	default GCC_VERSION_4_4_5 if (powerpc || ubicom32)
-	default GCC_VERSION_4_4_5 if (TARGET_omap35xx || TARGET_octeon || TARGET_sibyte)
+	default GCC_VERSION_4_3_3_CS if GCC_DEFAULT_VERSION_4_3_3_CS
+	default GCC_VERSION_4_3_5 if GCC_DEFAULT_VERSION_4_3_5
+	default GCC_VERSION_4_4_5 if GCC_DEFAULT_VERSION_4_4_5
 	default GCC_VERSION_LINARO
 	help
 	  Select the version of gcc you wish to use.
diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version
index cac470e4cf..aba9c0515a 100644
--- a/toolchain/gcc/Config.version
+++ b/toolchain/gcc/Config.version
@@ -1,3 +1,27 @@
+config GCC_DEFAULT_VERSION
+	bool
+
+config GCC_DEFAULT_VERSION_4_3_3_CS
+	default y if (arm || armeb) && !(TARGET_gemini || TARGET_cns21xx || TARGET_omap35xx)
+	default y if (mips || mipsel) && !(TARGET_octeon || TARGET_sibyte)
+	select GCC_DEFAULT_VERSION
+	bool
+
+config GCC_DEFAULT_VERSION_4_3_5
+	select GCC_DEFAULT_VERSION
+	default y if (avr32 || powerpc64 || TARGET_coldfire || TARGET_etrax || TARGET_gemini || TARGET_cns21xx)
+	bool
+
+config GCC_DEFAULT_VERSION_4_4_5
+	select GCC_DEFAULT_VERSION
+	default y if (powerpc || ubicom32 || TARGET_omap35xx || TARGET_octeon || TARGET_sibyte)
+	bool
+
+config GCC_DEFAULT_VERSION_LINARO
+	default y if !(GCC_DEFAULT_VERSION)
+	bool
+
+
 config GCC_VERSION
 	string
 	default "4.3.3+cs"  if GCC_VERSION_4_3_3_CS
@@ -27,20 +51,20 @@ config GCC_VERSION_4_5
 if !TOOLCHAINOPTS
 
 	config GCC_VERSION_4_3_3_CS
-		default y if (mips || mipsel) && !(TARGET_octeon || TARGET_sibyte)
-		default y if (arm || armeb) && !(TARGET_gemini || TARGET_cns21xx || TARGET_omap35xx)
+		default y if GCC_DEFAULT_VERSION_4_3_3_CS
+		bool
 
 	config GCC_VERSION_4_3_5
-		default y if avr32
-		default y if powerpc64
-		default y if TARGET_etrax
-		default y if TARGET_coldfire
-		default y if TARGET_gemini
-		default y if TARGET_cns21xx
+		default y if GCC_DEFAULT_VERSION_4_3_5
+		bool
 
 	config GCC_VERSION_4_4_5
-		default y if (TARGET_octeon || TARGET_sibyte || TARGET_omap35xx)
-		default y if powerpc
-		default y if ubicom32
+		default y if GCC_DEFAULT_VERSION_4_4_5
+		bool
+
+	config GCC_VERSION_LINARO
+		default y if GCC_DEFAULT_VERSION_LINARO
+		bool
+
 
 endif
-- 
cgit v1.2.3