[PATCH 1 of 2] kconfig: add version helpers

Benoît THÉBAUDEAU benoit.thebaudeau@advansee.com
Tue May 24 13:08:00 GMT 2011


# HG changeset patch
# User "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
# Date 1306241064 -7200
# Node ID 185015975b8850bbba70b60047c31085d84a6fee
# Parent  230d50dd23230a2b09fb390d771f5628a1c7342f
kconfig: add version helpers

This script adds several helpers to handle configured tool versions.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>

diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in
--- a/config/binutils/binutils.in
+++ b/config/binutils/binutils.in
@@ -17,22 +17,27 @@
 config BINUTILS_V_2_20_1
     bool
     prompt "2.20.1"
+    select BINUTILS_2_20_or_later
 
 config BINUTILS_V_2_20
     bool
     prompt "2.20"
+    select BINUTILS_2_20_or_later
 
 config BINUTILS_V_2_19_1
     bool
     prompt "2.19.1"
+    select BINUTILS_2_19_or_later
 
 config BINUTILS_V_2_19
     bool
     prompt "2.19"
+    select BINUTILS_2_19_or_later
 
 config BINUTILS_V_2_18
     bool
     prompt "2.18"
+    select BINUTILS_2_18_or_later
 
 config BINUTILS_V_2_17
     bool
@@ -61,9 +66,25 @@
 
 config BINUTILS_2_21_or_later
     bool
+    default n
+    select BINUTILS_2_20_or_later
     select BINUTILS_HAS_GOLD
     select BINUTILS_HAS_PLUGINS
 
+config BINUTILS_2_20_or_later
+    bool
+    default n
+    select BINUTILS_2_19_or_later
+
+config BINUTILS_2_19_or_later
+    bool
+    default n
+    select BINUTILS_2_18_or_later
+
+config BINUTILS_2_18_or_later
+    bool
+    default n
+
 config BINUTILS_HAS_GOLD
     bool
 
diff --git a/config/libc/eglibc.in b/config/libc/eglibc.in
--- a/config/libc/eglibc.in
+++ b/config/libc/eglibc.in
@@ -22,22 +22,27 @@
     bool
     prompt "2_13"
     depends on EXPERIMENTAL
+    select LIBC_EGLIBC_2_13_or_later
 
 config LIBC_EGLIBC_V_2_12
     bool
     prompt "2_12"
+    select LIBC_EGLIBC_2_12_or_later
 
 config LIBC_EGLIBC_V_2_11
     bool
     prompt "2_11"
+    select LIBC_EGLIBC_2_11_or_later
 
 config LIBC_EGLIBC_V_2_10
     bool
     prompt "2_10"
+    select LIBC_EGLIBC_2_10_or_later
 
 config LIBC_EGLIBC_V_2_9
     bool
     prompt "2_9"
+    select LIBC_EGLIBC_2_9_or_later
 
 config LIBC_EGLIBC_V_2_8
     bool
@@ -62,11 +67,36 @@
 config LIBC_EGLIBC_V_TRUNK
     bool
     prompt "'trunk'"
+    select LIBC_EGLIBC_2_13_or_later
     help
       Selecting this will export the trunk of the eglibc subversion repository.
 
 endchoice
 
+config LIBC_EGLIBC_2_13_or_later
+    bool
+    default n
+    select LIBC_EGLIBC_2_12_or_later
+
+config LIBC_EGLIBC_2_12_or_later
+    bool
+    default n
+    select LIBC_EGLIBC_2_11_or_later
+
+config LIBC_EGLIBC_2_11_or_later
+    bool
+    default n
+    select LIBC_EGLIBC_2_10_or_later
+
+config LIBC_EGLIBC_2_10_or_later
+    bool
+    default n
+    select LIBC_EGLIBC_2_9_or_later
+
+config LIBC_EGLIBC_2_9_or_later
+    bool
+    default n
+
 config LIBC_VERSION
     string
 # Don't remove next line
diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh
--- a/scripts/addToolVersion.sh
+++ b/scripts/addToolVersion.sh
@@ -114,6 +114,36 @@
                 SedExpr1="${SedExpr1}\n    select CC_GCC_4_2"
             fi
             ;;
+        binutils)
+            # Extract 'M'ajor and 'm'inor from version string
+            ver_M=$(echo "${version}...." |cut -d . -f 1)
+            ver_m=$(echo "${version}...." |cut -d . -f 2)
+            if [   \( ${ver_M} -eq 2 -a ${ver_m} -eq 21 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select BINUTILS_2_21_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 20 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select BINUTILS_2_20_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 19 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select BINUTILS_2_19_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 18 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select BINUTILS_2_18_or_later"
+            fi
+            ;;
+        eglibc)
+            # Extract 'M'ajor and 'm'inor from version string
+            ver_M=$(echo "${version}...." |cut -d . -f 1)
+            ver_m=$(echo "${version}...." |cut -d . -f 2)
+            if [   \( ${ver_M} -eq 2 -a ${ver_m} -eq 13 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select LIBC_EGLIBC_2_13_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 12 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select LIBC_EGLIBC_2_12_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 11 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select LIBC_EGLIBC_2_11_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 10 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select LIBC_EGLIBC_2_10_or_later"
+            elif [ \( ${ver_M} -eq 2 -a ${ver_m} -eq 9 \)  ]; then
+                SedExpr1="${SedExpr1}\n    select LIBC_EGLIBC_2_9_or_later"
+            fi
+            ;;
         uClibc)
             # uClibc-0.9.30 and above need some love
             ver_M=$(echo "${version}...." |cut -d . -f 1)


More information about the crossgcc mailing list