75 lines
2.3 KiB
Bash
75 lines
2.3 KiB
Bash
#!/bin/sh
|
|
|
|
# Check for proper versions of autotools
|
|
# We require:
|
|
# - autoconf 2.50+
|
|
# - automake 1.7+, 1.9+ for make dist
|
|
# - libtool 1.4+
|
|
|
|
# Touch revision.m4
|
|
if [ -f ./update_revision.sh ]; then
|
|
./update_revision.sh;
|
|
elif [ ! -f ./revision.m4 ]; then
|
|
echo "m4_define([SVN_REV], 0)" > ./revision.m4;
|
|
echo "m4_define([SVN_REVISION], trunk-r0)" >> ./revision.m4;
|
|
echo "m4_define([SVN_DATE], )" >> ./revision.m4;
|
|
fi
|
|
|
|
# create m4 directory or we break older systems like RedHat/CentOS 5
|
|
mkdir -p m4
|
|
|
|
# Deal with some gentoo-specific issues
|
|
WANT_AUTOMAKE='1.11 1.9 1.8 1.7' #latest of these is chosen or default if none hits
|
|
export WANT_AUTOMAKE
|
|
WANT_AUTOCONF='2.5'
|
|
export WANT_AUTOCONF
|
|
|
|
# Default program names
|
|
test -z "$AUTOCONF" && AUTOCONF=autoconf
|
|
test -z "$AUTOHEADER" && AUTOHEADER=autoheader
|
|
|
|
test -z "$AUTOMAKE" && AUTOMAKE=automake
|
|
test -z "$ACLOCAL" && ACLOCAL=aclocal
|
|
|
|
test -z "$LIBTOOL" && for LIBTOOL in glibtool libtool; do
|
|
($LIBTOOL --version) < /dev/null > /dev/null 2>&1 && break
|
|
done
|
|
test -z "$LIBTOOLIZE" && for LIBTOOLIZE in glibtoolize libtoolize; do
|
|
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
|
|
done
|
|
|
|
## Using prereq in autoconf rather than here, mostly for the debian systems at
|
|
## this point
|
|
if test -n "`$AUTOCONF --version 2>&1|head -n 1|egrep '1\.[0-9]+|2\.[0-4]+'`"; then
|
|
echo "Autoconf 2.50 or above is required. Aborting build...";
|
|
exit 1;
|
|
fi
|
|
|
|
if test -n "`$AUTOMAKE --version 2>&1|head -n 1|egrep '\<1\.[0-6](\.[0-9]+)?\>'`"; then
|
|
echo "Automake 1.7 or above is required. Aborting build...";
|
|
exit 1;
|
|
fi
|
|
|
|
if test -n "`$AUTOMAKE --version 2>&1|head -n 1|egrep '\<1\.7(\.[0-9]+)?|\<1\.8(\.[0-9]+)?'`"; then
|
|
echo "make dist only supported with automake 1.9 or above" >&2;
|
|
fi
|
|
|
|
if test -n "`$LIBTOOL --version 2>&1|head -n 1|cut -f 4 -d ' '|egrep '1\.[0-3](\.[0-9]+)?$'`"; then
|
|
echo "Libtool 1.4 or above is required. Aborting build...";
|
|
exit 1;
|
|
fi
|
|
|
|
# clean up files which cause confusion when switch versions of auto*
|
|
rm -rf autom4te.cache
|
|
|
|
# Make the build more robust if a Makefile.am is removed from the file system, but it is not removed
|
|
# from the configure.ac file.
|
|
find . | grep -v wxSmithSTC/stc| grep Makefile.in$ | xargs rm -v
|
|
|
|
# Fire up autotools
|
|
$LIBTOOLIZE --force --copy && \
|
|
$ACLOCAL $ACLOCAL_FLAGS && \
|
|
$AUTOHEADER && \
|
|
$AUTOMAKE --include-deps --add-missing --foreign --copy && \
|
|
$AUTOCONF
|