1#!/bin/bash
2
3die() {
4  echo "$@" 1>&2
5  exit 1
6}
7
8clean() {
9  echo $1 | sed -e 's/\\//g'
10}
11
12### NOTE: ############################################################
13### These variables specify the tool versions we want to use.
14### Periods should be escaped with backslash for use by grep.
15###
16### If you update these, please also update docs/GettingStarted.html
17want_autoconf_version='2\.60'
18want_autoheader_version=$want_autoconf_version
19want_aclocal_version='1\.9\.6'
20want_libtool_version='1\.5\.22'
21### END NOTE #########################################################
22
23outfile=configure
24configfile=configure.ac
25
26want_autoconf_version_clean=$(clean $want_autoconf_version)
27want_autoheader_version_clean=$(clean $want_autoheader_version)
28want_aclocal_version_clean=$(clean $want_aclocal_version)
29want_libtool_version_clean=$(clean $want_libtool_version)
30
31test -d autoconf && test -f autoconf/$configfile && cd autoconf
32test -f $configfile || die "Can't find 'autoconf' dir; please cd into it first"
33autoconf --version | grep $want_autoconf_version > /dev/null
34test $? -eq 0 || die "Your autoconf was not detected as being $want_autoconf_version_clean"
35aclocal --version | grep '^aclocal.*'$want_aclocal_version > /dev/null
36test $? -eq 0 || die "Your aclocal was not detected as being $want_aclocal_version_clean"
37autoheader --version | grep '^autoheader.*'$want_autoheader_version > /dev/null
38test $? -eq 0 || die "Your autoheader was not detected as being $want_autoheader_version_clean"
39libtool --version | grep $want_libtool_version > /dev/null
40test $? -eq 0 || die "Your libtool was not detected as being $want_libtool_version_clean"
41echo ""
42echo "### NOTE: ############################################################"
43echo "### If you get *any* warnings from autoconf below you MUST fix the"
44echo "### scripts in the m4 directory because there are future forward"
45echo "### compatibility or platform support issues at risk. Please do NOT"
46echo "### commit any configure script that was generated with warnings"
47echo "### present. You should get just three 'Regenerating..' lines."
48echo "######################################################################"
49echo ""
50echo "Regenerating aclocal.m4 with aclocal $want_aclocal_version_clean"
51cwd=`pwd`
52aclocal --force -I $cwd/m4 || die "aclocal failed"
53echo "Regenerating configure with autoconf $want_autoconf_version_clean"
54autoconf --force --warnings=all -o ../$outfile $configfile || die "autoconf failed"
55cd ..
56echo "Regenerating config.h.in with autoheader $want_autoheader_version_clean"
57autoheader --warnings=all -I autoconf -I autoconf/m4 autoconf/$configfile || die "autoheader failed"
58exit 0
59