autogen.sh revision 219820
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