scripts/addToolVersion.sh: add a function to extract fields from versions
author"Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Tue May 31 17:20:52 2011 +0200 (2011-05-31)
changeset 2485288f1261964f
parent 2484 d1a8c2ae7946
child 2486 328816f6e606
scripts/addToolVersion.sh: add a function to extract fields from versions

This patch adds a function to extract major, minor, revision, etc. from version
numbers.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
scripts/addToolVersion.sh
     1.1 --- a/scripts/addToolVersion.sh	Tue May 31 16:27:39 2011 +0200
     1.2 +++ b/scripts/addToolVersion.sh	Tue May 31 17:20:52 2011 +0200
     1.3 @@ -46,6 +46,15 @@
     1.4  		EOF
     1.5  }
     1.6  
     1.7 +# Extract field $3 from version $1 with separator $2
     1.8 +getVersionField() {
     1.9 +    local version="$1"
    1.10 +    local sep="$2"
    1.11 +    local field="$3"
    1.12 +
    1.13 +    echo "${version}${sep}${sep}${sep}${sep}" |cut -d ${sep} -f ${field}
    1.14 +}
    1.15 +
    1.16  # Effectively add a version to the specified tool
    1.17  # $cat          : tool category
    1.18  # $tool         : tool name
    1.19 @@ -100,8 +109,8 @@
    1.20      case "${tool}" in
    1.21          gcc)
    1.22              # Extract 'M'ajor and 'm'inor from version string
    1.23 -            ver_M=$(echo "${version}...." |cut -d . -f 1)
    1.24 -            ver_m=$(echo "${version}...." |cut -d . -f 2)
    1.25 +            ver_M=$(getVersionField "${version}" . 1)
    1.26 +            ver_m=$(getVersionField "${version}" . 2)
    1.27              if [   \( ${ver_M} -eq 4 -a ${ver_m} -eq 6 \)  ]; then
    1.28                  SedExpr1="${SedExpr1}\n    select CC_GCC_4_6"
    1.29              elif [ \( ${ver_M} -eq 4 -a ${ver_m} -eq 5 \)  ]; then
    1.30 @@ -116,9 +125,9 @@
    1.31              ;;
    1.32          uClibc)
    1.33              # uClibc-0.9.30 and above need some love
    1.34 -            ver_M=$(echo "${version}...." |cut -d . -f 1)
    1.35 -            ver_m=$(echo "${version}...." |cut -d . -f 2)
    1.36 -            ver_p=$(echo "${version}...." |cut -d . -f 3)
    1.37 +            ver_M=$(getVersionField "${version}" . 1)
    1.38 +            ver_m=$(getVersionField "${version}" . 2)
    1.39 +            ver_p=$(getVersionField "${version}" . 3)
    1.40              if [    ${ver_M} -ge 1                                      \
    1.41                   -o ${ver_M} -eq 0 -a ${ver_m} -ge 10                   \
    1.42                   -o ${ver_M} -eq 0 -a ${ver_m} -eq 9 -a ${ver_p} -ge 30 ]; then
    1.43 @@ -127,7 +136,7 @@
    1.44              ;;
    1.45          gdb)
    1.46              # gdb-7.0 and above have special handling
    1.47 -            ver_M=$(echo "${version}...." |cut -d . -f 1)
    1.48 +            ver_M=$(getVersionField "${version}" . 1)
    1.49              if [ ${ver_M} -ge 7 ]; then
    1.50                  SedExpr1="${SedExpr1}\n    select GDB_7_0_or_later"
    1.51              fi