[openib-general] [PATCH] opensm: autogen.sh: tools version verification fixes

Eitan Zahavi eitan at mellanox.co.il
Thu Oct 26 05:39:57 PDT 2006


Seems right.

Thanks.

Sasha Khapyorsky wrote:
> This fixes couple of things related to tools version verifications in
> autogen.sh. Originally autogen.sh was claiming that automake-1.10 is
> older that automake-1.6.3 and was failing with zero exit status, so:
>
> - regular expression fix - proper version string separation
> - numeric camparison for extracted version elements
> - non-zero exit status when old tools are detected
> - slightly improved condition statements
>
> Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> ---
>  osm/autogen.sh |   47 +++++++++++++++++++++--------------------------
>  1 files changed, 21 insertions(+), 26 deletions(-)
>
> diff --git a/osm/autogen.sh b/osm/autogen.sh
> index 658d377..6570426 100755
> --- a/osm/autogen.sh
> +++ b/osm/autogen.sh
> @@ -1,4 +1,4 @@
> -#!/bin/bash 
> +#!/bin/bash
>  
>  # We change dir since the later utilities assume to work in the project dir
>  cd ${0%*/*}
> @@ -7,49 +7,44 @@ # make sure autoconf is up-to-date
>  ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'`
>  ac_maj=`echo $ac_ver|sed 's/\..*//'`
>  ac_min=`echo $ac_ver|sed 's/.*\.//'`
> -if [[ $ac_maj < 2 ]]; then 
> +if [[ $ac_maj -lt 2 ]]; then
>      echo Min autoconf version is 2.57
> -    exit
> -fi
> -if [[ $ac_maj = 2 && $ac_min < 57 ]]; then 
> +    exit 1
> +elif [[ $ac_maj -eq 2 && $ac_min -lt 57 ]]; then
>      echo Min autoconf version is 2.57
> -    exit
> +    exit 1
>  fi
>  
>  # make sure automake is up-to-date
>  am_ver=`automake --version | head -n 1 | awk '{print $NF}'`
>  am_maj=`echo $am_ver|sed 's/\..*//'`
> -am_min=`echo $am_ver|sed 's/.*\.\([^\.]*\)\..*/\1/'`
> -am_sub=`echo $am_ver|sed 's/.*\.//'`
> -if [[ $am_maj < 1 ]]; then 
> +am_min=`echo $am_ver|sed 's/[^\.]*\.\([^\.]*\)\.*.*/\1/'`
> +am_sub=`echo $am_ver|sed 's/[^\.]*\.[^\.]*\.*//'`
> +if [[ $am_maj -lt 1 ]]; then
>      echo Min automake version is 1.6.3
> -    exit
> -fi
> -if [[ $am_maj = 1 && $am_min < 6 ]]; then 
> +    exit 1
> +elif [[ $am_maj -eq 1 && $am_min -lt 6 ]]; then
>      echo "automake version is too old:$am_maj.$am_min.$am_sub < required 1.6.3"
> -    exit
> -fi
> -if [[ $am_maj = 1 && $am_min = 6 && $am_sub < 3 ]]; then 
> +    exit 1
> +elif [[ $am_maj -eq 1 && $am_min -eq 6 && $am_sub -lt 3 ]]; then
>      echo "automake version is too old:$am_maj.$am_min.$am_sub < required 1.6.3"
> -    exit
> +    exit 1
>  fi
>  
>  # make sure libtool is up-to-date
>  lt_ver=`libtool --version | head -n 1 | awk '{print $4}'`
>  lt_maj=`echo $lt_ver|sed 's/\..*//'`
> -lt_min=`echo $lt_ver|sed 's/.*\.\([^\.]*\)\..*/\1/'`
> -lt_sub=`echo $lt_ver|sed 's/.*\.//'`
> -if [[ $lt_maj < 1 ]]; then 
> +lt_min=`echo $lt_ver|sed 's/[^\.]*\.\([^\.]*\)\.*.*/\1/'`
> +lt_sub=`echo $lt_ver|sed 's/[^\.]*\.[^\.]*\.*//'`
> +if [[ $lt_maj -lt 1 ]]; then
>      echo Min libtool version is 1.4.2
> -    exit
> -fi
> -if [[ $lt_maj = 1 && $lt_min < 4 ]]; then 
> +    exit 1
> +elif [[ $lt_maj -eq 1 && $lt_min -lt 4 ]]; then
>      echo "automake version is too old:$lt_maj.$lt_min.$lt_sub < required 1.4.2"
> -    exit
> -fi
> -if [[ $lt_maj = 1 && $lt_min = 4 && $lt_sub < 2 ]]; then 
> +    exit 1
> +elif [[ $lt_maj -eq 1 && $lt_min -eq 4 && $lt_sub -lt 2 ]]; then
>      echo "automake version is too old:$lt_maj.$lt_min.$lt_sub < required 1.4.2"
> -    exit
> +    exit 1
>  fi
>  
>  # cleanup
>   





More information about the general mailing list