X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fautogen.sh;h=bc99b2d1afcb7715290a3ced31dc642e0cfebaa5;hb=26633bbfbf821a7cfdfe7a0367d1ea94a440be2e;hp=db1218f170c26810184e2391821cd344f35346f4;hpb=e63ea5ba4dfc0ecf69e0211dc0327503dfc05037;p=lilypond.git diff --git a/stepmake/autogen.sh b/stepmake/autogen.sh index db1218f170..bc99b2d1af 100755 --- a/stepmake/autogen.sh +++ b/stepmake/autogen.sh @@ -2,20 +2,38 @@ # Run this to generate configure and initial GNUmakefiles srcdir=`dirname $0` -DIE=0 -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "ERROR: You must have \`autoconf' installed to." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 + +if [ ! -f aclocal.m4 -o stepmake/aclocal.m4 -nt aclocal.m4 ]; then + echo "stepmake/aclocal.m4 is newer. Copying file." + cp -f stepmake/aclocal.m4 aclocal.m4 +fi + +if [ ! -f autogen.sh -o stepmake/autogen.sh -nt autogen.sh ]; then + echo "stepmake/autogen.sh is newer. Copying file." + cp -f stepmake/autogen.sh autogen.sh + exec ./autogen.sh fi +# Be paranoid: check for autoconf >= 2.50 +# Some setups have both autoconf 2.13 and 2.5x available through +# a wrapper script: /usr/bin/autoconf. +# This wrapper may incorrectly autoselect autoconf 2.50, but it +# advertises itself as autoconf 2.13. +# If you have such a setup, invoke this script as: +# autoconf=autoconf2.50 ./autogen.sh +for i in autoconf2.50 autoconf-2.50 autoconf false; do + version=`$i --version 2>/dev/null | head -n 1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'` + if test "0$version" -ge 250; then + autoconf=$i + break + fi +done + +if test -z "$autoconf"; then + echo "ERROR: Please install autoconf 2.50 or newer" + exit 1 +fi if test -z "$*"; then echo "WARNING: I am going to run \`configure' with no arguments." @@ -24,14 +42,14 @@ if test -z "$*"; then echo fi -for coin in `find $srcdir -name configure.in -print` +for coin in $srcdir/configure.in #`find $srcdir -name configure.in -print` do dr=`dirname $coin` echo processing $dr ( cd $dr echo "Running autoconf ..." - autoconf + $autoconf ) done