[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