]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/autogen.sh
* GNUmakefile.in: config.h message fix.
[lilypond.git] / stepmake / autogen.sh
index 5048ce8b21290207478ee55f613320253a6cbaca..36d6b4939ff9eb10f10577314e3449466910a05a 100755 (executable)
@@ -2,14 +2,31 @@
 # Run this to generate configure and initial GNUmakefiles
 
 srcdir=`dirname $0`
-DIE=0
 
-# autoconf > 2.50 is not very common yet,
-# and disappointingly incompatible with the widely available 2.13
-version=`autoconf --version 2>/dev/null | awk '{print $3}'`
-if test "$version" != "2.13"; then
-  echo "ERROR: Please install autoconf 2.13"
-  exit 1
+if [ 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 -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
@@ -26,7 +43,7 @@ do
   (
       cd $dr
       echo "Running autoconf ..."
-      autoconf
+      $autoconf
   )
 done