--- admin/cvs.sh.orig 2009-05-16 14:30:00.000000000 +0400
+++ admin/cvs.sh 2009-06-17 22:40:36.000000000 +0400
@@ -8,6 +8,27 @@
unset MAKEFLAGS
+function vercompare(){
+# $1 - version string one
+# $2 - version string two
+# Print result (negative values return not allowed) of Integer difference ver1 - ver2.
+# WARNING: mean have only sign. Do not rely on difference absolute value.
+# Author: Pavel Alexeev (aka Pahan-Hubbitus)
+
+# 1.11, 1.6, # 1.6.1
+verarr1=( $( echo "$1" | sed 's/\./ /g' ) )
+verarr2=( $( echo "$2" | sed 's/\./ /g' ) )
+maxgrade=$( if [ ${#verarr1[@]} -gt ${#verarr2[@]} ]; then echo ${#verarr1[@]}; else echo ${#verarr2[@]}; fi )
+
+ for (( i=0; i<maxgrade; i++)); do
+ [ "${verarr1[i]}" = '' ] && verarr1[i]=0
+ [ "${verarr2[i]}" = '' ] && verarr2[i]=0
+ intver1=${intver1}${verarr1[i]}
+ intver2=${intver2}${verarr2[i]}
+ done
+echo $[ $intver1 - $intver2 ]
+}
+
call_and_fix_autoconf()
{
$AUTOCONF || exit 1
@@ -63,14 +84,15 @@
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
required_automake_version="1.6.1 or newer"
case $AUTOMAKE_STRING in
- automake*1.5d* | automake*1.5* | automake*1.5-* )
+ automake*1.* )
+ if [ $( vercompare `echo "$AUTOMAKE_STRING" | sed -r 's/automake \(GNU automake\) ([[:digit:]\.]+)$/\1/'` `echo "$required_automake_version" | sed -r 's/([[:digit:]\.]+).*/\1/'`) -ge 0 ]; then
+ echo "*** $AUTOMAKE_STRING found."
+ UNSERMAKE=no
+ else
echo "*** YOU'RE USING $AUTOMAKE_STRING."
echo "*** SIM requires automake $required_automake_version"
exit 1
- ;;
- automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10* | automake*1.11*)
- echo "*** $AUTOMAKE_STRING found."
- UNSERMAKE=no
+ fi
;;
"" )
echo "*** AUTOMAKE NOT FOUND!."