-#!/bin/sh
-die () {
- echo "$@" 1>&2
- exit 1
+#!/bin/bash
+
+die() {
+ echo "$@" 1>&2
+ exit 1
}
-if test "$1" = --with-automake ; then
- outfile=configure_am
- configfile=configure.am
- with_automake=1
-elif test -z "$1" ; then
- outfile=configure
- configfile=configure.ac
- with_automake=0
-else
- die "Invalid option: $1"
-fi
+
+clean() {
+ echo $1 | sed -e 's/\\//g'
+}
+
+### NOTE: ############################################################
+### These variables specify the tool versions we want to use.
+### Periods should be escaped with backslash for use by grep.
+###
+### If you update these, please also update docs/GettingStarted.rst
+want_autoconf_version='2\.60'
+want_autoheader_version=$want_autoconf_version
+want_aclocal_version='1\.9\.6'
+want_libtool_version='1\.5\.22'
+### END NOTE #########################################################
+
+outfile=configure
+configfile=configure.ac
+
+want_autoconf_version_clean=$(clean $want_autoconf_version)
+want_autoheader_version_clean=$(clean $want_autoheader_version)
+want_aclocal_version_clean=$(clean $want_aclocal_version)
+want_libtool_version_clean=$(clean $want_libtool_version)
+
test -d autoconf && test -f autoconf/$configfile && cd autoconf
test -f $configfile || die "Can't find 'autoconf' dir; please cd into it first"
-autoconf --version | egrep '2\.59' > /dev/null
-if test $? -ne 0 ; then
- die "Your autoconf was not detected as being 2.59"
-fi
-aclocal --version | egrep '1\.9\.2' > /dev/null
-if test $? -ne 0 ; then
- die "Your aclocal was not detected as being 1.9.2"
-fi
-autoheader --version | egrep '2\.59' > /dev/null
-if test $? -ne 0 ; then
- die "Your autoheader was not detected as being 2.59"
-fi
-libtool --version | grep '1\.5\.10' > /dev/null
-if test $? -ne 0 ; then
- die "Your libtool was not detected as being 1.5.10"
-fi
-if test $with_automake -eq 1 ; then
- automake --version | grep 'automake.*1.9.2' > /dev/null
- if test $? -ne 0 ; then
- die "Your automake was not detected as being 1.9.2"
- fi
-fi
+autoconf --version | grep $want_autoconf_version > /dev/null
+test $? -eq 0 || die "Your autoconf was not detected as being $want_autoconf_version_clean"
+aclocal --version | grep '^aclocal.*'$want_aclocal_version > /dev/null
+test $? -eq 0 || die "Your aclocal was not detected as being $want_aclocal_version_clean"
+autoheader --version | grep '^autoheader.*'$want_autoheader_version > /dev/null
+test $? -eq 0 || die "Your autoheader was not detected as being $want_autoheader_version_clean"
+libtool --version | grep $want_libtool_version > /dev/null
+test $? -eq 0 || die "Your libtool was not detected as being $want_libtool_version_clean"
echo ""
echo "### NOTE: ############################################################"
echo "### If you get *any* warnings from autoconf below you MUST fix the"
echo "### present. You should get just three 'Regenerating..' lines."
echo "######################################################################"
echo ""
-echo "Regenerating aclocal.m4 with aclocal 1.9.2"
+echo "Regenerating aclocal.m4 with aclocal $want_aclocal_version_clean"
cwd=`pwd`
-if test $with_automake -eq 1 ; then
- mv configure.ac .configure.ac.save
- cp configure.am configure.ac
- cp configure.am ../configure.ac
-fi
aclocal --force -I $cwd/m4 || die "aclocal failed"
-echo "Regenerating configure with autoconf 2.59"
+echo "Regenerating configure with autoconf $want_autoconf_version_clean"
autoconf --force --warnings=all -o ../$outfile $configfile || die "autoconf failed"
cd ..
-echo "Regenerating config.h.in with autoheader 2.59"
-autoheader -I autoconf -I autoconf/m4 autoconf/$configfile || die "autoheader failed"
-if test $with_automake -eq 1 ; then
- echo "Regenerating makefiles with automake 1.9.2"
- cp autoconf/aclocal.m4 .
- automake --gnu --add-missing --copy --force-missing
- cd $cwd
- mv .configure.ac.save configure.ac
-fi
+echo "Regenerating config.h.in with autoheader $want_autoheader_version_clean"
+autoheader --warnings=all -I autoconf -I autoconf/m4 autoconf/$configfile || die "autoheader failed"
exit 0