Beter version handle

This commit is contained in:
TApplencourt 2016-01-14 17:47:18 +01:00
parent 626f4aafbd
commit 63315d459c
1 changed files with 30 additions and 6 deletions

View File

@ -13,14 +13,38 @@ export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"
export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"
# return 0 if program version is equal or greater than check version
check_version()
{
local version=$1 check=$2
local winner=$(echo -e "$version\n$check" | sed '/^$/d' | sort -nr | head -1)
[[ "$winner" = "$version" ]] && return 0
return 1
check_version () {
if [[ $1 == $2 ]]
then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++))
do
if [[ -z ${ver2[i]} ]]
then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]}))
then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]}))
then
return 2
fi
done
return 0
}
i=$(gcc -dumpversion)
check_version i 4.6