12cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman#!/bin/bash 22cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman 32cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmandie() { 49d63530e5a0c38206adf1da5a2fe81e40f556f97Misha Brukman echo "$@" 1>&2 59d63530e5a0c38206adf1da5a2fe81e40f556f97Misha Brukman exit 1 64940c57a1e1123f7e2db67bf109c16ac0bead489Brian Gaeke} 7f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greif 82cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanclean() { 92cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman echo $1 | sed -e 's/\\//g' 102cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman} 112cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman 122cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman### NOTE: ############################################################ 132cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman### These variables specify the tool versions we want to use. 142cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman### Periods should be escaped with backslash for use by grep. 1568cecbde18da8a8fd84e03ef346a308019975f8aNick Lewycky### 160fa62a3122ee29be7275fd487398e69d71eb955aDmitri Gribenko### If you update these, please also update docs/GettingStarted.rst 17ee85bbcae15e6a2e400ce0f44791d753b37a6df6Scott Michelwant_autoconf_version='2\.60' 18f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greifwant_autoheader_version=$want_autoconf_version 192cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanwant_aclocal_version='1\.9\.6' 202cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukman### END NOTE ######################################################### 21f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greif 22d00b82eacd344df260e5356c3fa2f09db11adb72Reid Spenceroutfile=configure 23d00b82eacd344df260e5356c3fa2f09db11adb72Reid Spencerconfigfile=configure.ac 24f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greif 252cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanwant_autoconf_version_clean=$(clean $want_autoconf_version) 262cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanwant_autoheader_version_clean=$(clean $want_autoheader_version) 272cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanwant_aclocal_version_clean=$(clean $want_aclocal_version) 28f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greif 296843e38cb163bc4183f9a20375d90f5b0abb9256Reid Spencertest -d autoconf && test -f autoconf/$configfile && cd autoconf 306843e38cb163bc4183f9a20375d90f5b0abb9256Reid Spencertest -f $configfile || die "Can't find 'autoconf' dir; please cd into it first" 31f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greifautoconf --version | grep $want_autoconf_version > /dev/null 32f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greiftest $? -eq 0 || die "Your autoconf was not detected as being $want_autoconf_version_clean" 332cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanaclocal --version | grep '^aclocal.*'$want_aclocal_version > /dev/null 342cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmantest $? -eq 0 || die "Your aclocal was not detected as being $want_aclocal_version_clean" 35f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greifautoheader --version | grep '^autoheader.*'$want_autoheader_version > /dev/null 36f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greiftest $? -eq 0 || die "Your autoheader was not detected as being $want_autoheader_version_clean" 378eacb0c3a7489b86a7f5523ff4992452bc0b7941Reid Spencerecho "" 388eacb0c3a7489b86a7f5523ff4992452bc0b7941Reid Spencerecho "### NOTE: ############################################################" 395d6c4a55816a01001bcd6df633c86bf313e098cfReid Spencerecho "### If you get *any* warnings from autoconf below you MUST fix the" 405d6c4a55816a01001bcd6df633c86bf313e098cfReid Spencerecho "### scripts in the m4 directory because there are future forward" 418eacb0c3a7489b86a7f5523ff4992452bc0b7941Reid Spencerecho "### compatibility or platform support issues at risk. Please do NOT" 426843e38cb163bc4183f9a20375d90f5b0abb9256Reid Spencerecho "### commit any configure script that was generated with warnings" 436843e38cb163bc4183f9a20375d90f5b0abb9256Reid Spencerecho "### present. You should get just three 'Regenerating..' lines." 448eacb0c3a7489b86a7f5523ff4992452bc0b7941Reid Spencerecho "######################################################################" 458eacb0c3a7489b86a7f5523ff4992452bc0b7941Reid Spencerecho "" 462cf89b61b009b2aa3cff107d2d3c01564c58b9e7Misha Brukmanecho "Regenerating aclocal.m4 with aclocal $want_aclocal_version_clean" 47dcd38750536329ed7f7e7085927b07cb4c4d682aReid Spencercwd=`pwd` 48b03adb8cab6122347d062427a27fef8d4bf85c70Reid Spenceraclocal --force -I $cwd/m4 || die "aclocal failed" 49f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greifecho "Regenerating configure with autoconf $want_autoconf_version_clean" 506843e38cb163bc4183f9a20375d90f5b0abb9256Reid Spencerautoconf --force --warnings=all -o ../$outfile $configfile || die "autoconf failed" 514940c57a1e1123f7e2db67bf109c16ac0bead489Brian Gaekecd .. 52f70414f3d06cacd8a681bd756248ca71e50d1817Gabor Greifecho "Regenerating config.h.in with autoheader $want_autoheader_version_clean" 53abec8f96e3e35fbb306c957674809c4ace04a620Reid Spencerautoheader --warnings=all -I autoconf -I autoconf/m4 autoconf/$configfile || die "autoheader failed" 544940c57a1e1123f7e2db67bf109c16ac0bead489Brian Gaekeexit 0 55