Home | History | Annotate | Download | only in autoconf
      1 #!/bin/bash
      2 
      3 die() {
      4   echo "$@" 1>&2
      5   exit 1
      6 }
      7 
      8 clean() {
      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.rst
     17 want_autoconf_version='2\.60'
     18 want_autoheader_version=$want_autoconf_version
     19 want_aclocal_version='1\.9\.6'
     20 ### END NOTE #########################################################
     21 
     22 outfile=configure
     23 configfile=configure.ac
     24 
     25 want_autoconf_version_clean=$(clean $want_autoconf_version)
     26 want_autoheader_version_clean=$(clean $want_autoheader_version)
     27 want_aclocal_version_clean=$(clean $want_aclocal_version)
     28 
     29 test -d autoconf && test -f autoconf/$configfile && cd autoconf
     30 test -f $configfile || die "Can't find 'autoconf' dir; please cd into it first"
     31 autoconf --version | grep $want_autoconf_version > /dev/null
     32 test $? -eq 0 || die "Your autoconf was not detected as being $want_autoconf_version_clean"
     33 aclocal --version | grep '^aclocal.*'$want_aclocal_version > /dev/null
     34 test $? -eq 0 || die "Your aclocal was not detected as being $want_aclocal_version_clean"
     35 autoheader --version | grep '^autoheader.*'$want_autoheader_version > /dev/null
     36 test $? -eq 0 || die "Your autoheader was not detected as being $want_autoheader_version_clean"
     37 echo ""
     38 echo "### NOTE: ############################################################"
     39 echo "### If you get *any* warnings from autoconf below you MUST fix the"
     40 echo "### scripts in the m4 directory because there are future forward"
     41 echo "### compatibility or platform support issues at risk. Please do NOT"
     42 echo "### commit any configure script that was generated with warnings"
     43 echo "### present. You should get just three 'Regenerating..' lines."
     44 echo "######################################################################"
     45 echo ""
     46 echo "Regenerating aclocal.m4 with aclocal $want_aclocal_version_clean"
     47 cwd=`pwd`
     48 aclocal --force -I $cwd/m4 || die "aclocal failed"
     49 echo "Regenerating configure with autoconf $want_autoconf_version_clean"
     50 autoconf --force --warnings=all -o ../$outfile $configfile || die "autoconf failed"
     51 cd ..
     52 echo "Regenerating config.h.in with autoheader $want_autoheader_version_clean"
     53 autoheader --warnings=all -I autoconf -I autoconf/m4 autoconf/$configfile || die "autoheader failed"
     54 exit 0
     55