autogen.sh revision 259065
1#!/bin/bash 2 3# We change dir since the later utilities assume to work in the project dir 4cd ${0%*/*} 5 6# make sure autoconf is up-to-date 7ac_ver=`autoconf --version | head -n 1 | awk '{print $NF}'` 8ac_maj=`echo $ac_ver|sed 's/\..*//'` 9ac_min=`echo $ac_ver|sed 's/.*\.//'` 10if [[ $ac_maj -lt 2 ]]; then 11 echo Min autoconf version is 2.57 12 exit 1 13elif [[ $ac_maj -eq 2 && $ac_min -lt 57 ]]; then 14 echo Min autoconf version is 2.57 15 exit 1 16fi 17 18# make sure automake is up-to-date 19am_ver=`automake --version | head -n 1 | awk '{print $NF}'` 20am_maj=`echo $am_ver|sed 's/\..*//'` 21am_min=`echo $am_ver|sed 's/[^\.]*\.\([^\.]*\)\.*.*/\1/'` 22am_sub=`echo $am_ver|sed 's/[^\.]*\.[^\.]*\.*//'` 23if [[ $am_maj -lt 1 ]]; then 24 echo Min automake version is 1.6.3 25 exit 1 26elif [[ $am_maj -eq 1 && $am_min -lt 6 ]]; then 27 echo "automake version is too old:$am_maj.$am_min.$am_sub < required 1.6.3" 28 exit 1 29elif [[ $am_maj -eq 1 && $am_min -eq 6 && $am_sub -lt 3 ]]; then 30 echo "automake version is too old:$am_maj.$am_min.$am_sub < required 1.6.3" 31 exit 1 32fi 33 34# make sure libtool is up-to-date 35lt_ver=`libtool --version | head -n 1 | awk '{print $4}'` 36lt_maj=`echo $lt_ver|sed 's/\..*//'` 37lt_min=`echo $lt_ver|sed 's/[^\.]*\.\([^\.]*\)\.*.*/\1/'` 38lt_sub=`echo $lt_ver|sed 's/[^\.]*\.[^\.]*\.*//'` 39if [[ $lt_maj -lt 1 ]]; then 40 echo Min libtool version is 1.4.2 41 exit 1 42elif [[ $lt_maj -eq 1 && $lt_min -lt 4 ]]; then 43 echo "libtool version is too old:$lt_maj.$lt_min.$lt_sub < required 1.4.2" 44 exit 1 45elif [[ $lt_maj -eq 1 && $lt_min -eq 4 && $lt_sub -lt 2 ]]; then 46 echo "libtool version is too old:$lt_maj.$lt_min.$lt_sub < required 1.4.2" 47 exit 1 48fi 49 50# cleanup 51find . \( -name Makefile.in -o -name aclocal.m4 -o -name autom4te.cache -o -name configure -o -name aclocal.m4 \) -exec \rm -rf {} \; -prune 52 53aclocal -I config && \ 54libtoolize --force --copy && \ 55autoheader && \ 56automake --foreign --add-missing --copy && \ 57autoconf 58