| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #!/bin/sh
- # set required versions of tools here
- # the version is dotted integers like X.Y.Z where
- # X, Y, and Z are integers
- # comparisons are done using shell -lt, -gt, etc.
- # this works if the numbers are zero filled as well
- # so 06 == 6
- # autoconf version required
- # need 2.69 or later
- ac_need_maj=2
- ac_need_min=69
- # automake version required
- # need 1.13.4 or later
- am_need_maj=1
- am_need_min=13
- am_need_rev=4
- # libtool version required
- # need 2.4.2 or later
- lt_need_maj=2
- lt_need_min=4
- lt_need_rev=2
- # should never have to touch anything below this line unless there is a bug
- ###########################################################################
- # input
- # arg1 - version string in the form "X.Y[.Z]" - the .Z is optional
- # args remaining - the needed X, Y, and Z to match
- # output
- # return 0 - success - the version string is >= the required X.Y.Z
- # return 1 - failure - the version string is < the required X.Y.Z
- # NOTE: All input must be integers, otherwise you will see shell errors
- checkvers() {
- vers="$1"; shift
- needmaj="$1"; shift
- needmin="$1"; shift
- needrev="$1"; shift
- verslist=`echo $vers | tr '.' ' '`
- set $verslist
- maj=$1; shift
- min=$1; shift
- rev=$1; shift
- if [ "$maj" -gt "$needmaj" ] ; then return 0; fi
- if [ "$maj" -lt "$needmaj" ] ; then return 1; fi
- # if we got here, maj == needmaj
- if [ -z "$needmin" ] ; then return 0; fi
- if [ "$min" -gt "$needmin" ] ; then return 0; fi
- if [ "$min" -lt "$needmin" ] ; then return 1; fi
- # if we got here, min == needmin
- if [ -z "$needrev" ] ; then return 0; fi
- if [ "$rev" -gt "$needrev" ] ; then return 0; fi
- if [ "$rev" -lt "$needrev" ] ; then return 1; fi
- # if we got here, rev == needrev
- return 0
- }
- # Check autoconf version
- AC_VERSION=`autoconf --version | sed '/^autoconf/ {s/^.* \([1-9][0-9.]*\)$/\1/; q}'`
- if checkvers "$AC_VERSION" $ac_need_maj $ac_need_min ; then
- echo Found valid autoconf version $AC_VERSION
- else
- echo "You must have autoconf version $ac_need_maj.$ac_need_min or later installed (found version $AC_VERSION)."
- exit 1
- fi
- # Check automake version
- AM_VERSION=`automake --version | sed '/^automake/ {s/^.* \([1-9][0-9.]*\)$/\1/; q}'`
- if checkvers "$AM_VERSION" $am_need_maj $am_need_min $am_need_rev ; then
- echo Found valid automake version $AM_VERSION
- else
- echo "You must have automake version $am_need_maj.$am_need_min.$am_need_rev or later installed (found version $AM_VERSION)."
- exit 1
- fi
- # Check libtool version
- # NOTE: some libtool versions report a letter at the end e.g. on RHEL6
- # the version is 2.2.6b - for comparison purposes, just strip off the
- # letter - note that the shell -lt and -gt comparisons will fail with
- # test: 6b: integer expression expected if the number to compare
- # contains a non-digit
- LT_VERSION=`libtool --version | sed '/GNU libtool/ {s/^.* \([1-9][0-9a-zA-Z.]*\)$/\1/; s/[a-zA-Z]//g; q}'`
- if checkvers "$LT_VERSION" $lt_need_maj $lt_need_min $lt_need_rev ; then
- echo Found valid libtool version $LT_VERSION
- else
- echo "You must have libtool version $lt_need_maj.$lt_need_min.$lt_need_rev or later installed (found version $LT_VERSION)."
- exit 1
- fi
- # Run autoreconf
- echo "Running autoreconf -fvi"
- autoreconf -fvi
|