summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>2011-05-31 15:20:52 (GMT)
committerBenoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>2011-05-31 15:20:52 (GMT)
commitc06117b767fb83d42a96c9b952bb6e47964e1e58 (patch)
tree2411ee20f5733c506a0d0fd40bb658246b8f7b0d
parent96245813d8e81bc4534e810e5daab639468ac20c (diff)
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>
-rwxr-xr-xscripts/addToolVersion.sh21
1 files changed, 15 insertions, 6 deletions
diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh
index ffea750..e5f083d 100755
--- a/scripts/addToolVersion.sh
+++ b/scripts/addToolVersion.sh
@@ -46,6 +46,15 @@ doHelp() {
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 @@ addToolVersion() {
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 @@ addToolVersion() {
;;
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 @@ addToolVersion() {
;;
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