# HG changeset patch # User "Benoît THÉBAUDEAU" # Date 1306855252 -7200 # Node ID 288f1261964fa040388e59e67bbcf73c3284a6aa # Parent d1a8c2ae7946066d97aa5a90e30642dee4124e34 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" diff -r d1a8c2ae7946 -r 288f1261964f scripts/addToolVersion.sh --- a/scripts/addToolVersion.sh Tue May 31 16:27:39 2011 +0200 +++ b/scripts/addToolVersion.sh Tue May 31 17:20:52 2011 +0200 @@ -46,6 +46,15 @@ EOF } +# Extract field $3 from version $1 with separator $2 +getVersionField() { + local version="$1" + local sep="$2" + local field="$3" + + echo "${version}${sep}${sep}${sep}${sep}" |cut -d ${sep} -f ${field} +} + # Effectively add a version to the specified tool # $cat : tool category # $tool : tool name @@ -100,8 +109,8 @@ case "${tool}" in gcc) # 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) + ver_M=$(getVersionField "${version}" . 1) + ver_m=$(getVersionField "${version}" . 2) if [ \( ${ver_M} -eq 4 -a ${ver_m} -eq 6 \) ]; then SedExpr1="${SedExpr1}\n select CC_GCC_4_6" elif [ \( ${ver_M} -eq 4 -a ${ver_m} -eq 5 \) ]; then @@ -116,9 +125,9 @@ ;; uClibc) # uClibc-0.9.30 and above need some love - ver_M=$(echo "${version}...." |cut -d . -f 1) - ver_m=$(echo "${version}...." |cut -d . -f 2) - ver_p=$(echo "${version}...." |cut -d . -f 3) + ver_M=$(getVersionField "${version}" . 1) + ver_m=$(getVersionField "${version}" . 2) + ver_p=$(getVersionField "${version}" . 3) if [ ${ver_M} -ge 1 \ -o ${ver_M} -eq 0 -a ${ver_m} -ge 10 \ -o ${ver_M} -eq 0 -a ${ver_m} -eq 9 -a ${ver_p} -ge 30 ]; then @@ -127,7 +136,7 @@ ;; gdb) # gdb-7.0 and above have special handling - ver_M=$(echo "${version}...." |cut -d . -f 1) + ver_M=$(getVersionField "${version}" . 1) if [ ${ver_M} -ge 7 ]; then SedExpr1="${SedExpr1}\n select GDB_7_0_or_later" fi