Move ini-like file parser to the utility library.
[jelmer/samba4-debian.git] / source / autogen.sh
index a2228a6fd929d977b55ca67a41c7a6a266813818..b721a45a99c86d62ea7a91b4e7d52acbb31e2f03 100755 (executable)
@@ -1,36 +1,67 @@
-#! /bin/sh
+#!/bin/sh
 
-# Run this script to build samba from CVS.
+# Run this script to build samba from git.
 
-## first try the default names
-AUTOHEADER="autoheader"
-AUTOCONF="autoconf"
+## insert all possible names (only works with
+## autoconf 2.x)
+TESTAUTOHEADER="autoheader autoheader-2.53 autoheader2.50 autoheader259 autoheader253"
+TESTAUTOCONF="autoconf autoconf-2.53 autoconf2.50 autoconf259 autoconf253"
 
-if which $AUTOCONF > /dev/null
-then
-    :
-else
-    echo "$0: need autoconf 2.53 or later to build samba from CVS" >&2
-    exit 1
-fi
+AUTOHEADERFOUND="0"
+AUTOCONFFOUND="0"
+
+
+##
+## Look for autoheader
+##
+for i in $TESTAUTOHEADER; do
+       if which $i > /dev/null 2>&1; then
+               if test `$i --version | head -n 1 | cut -d.  -f 2 | sed "s/[^0-9]//g"` -ge 53; then
+                       AUTOHEADER=$i
+                       AUTOHEADERFOUND="1"
+                       break
+               fi
+       fi
+done
 
 ##
-## what version do we need?
+## Look for autoconf
 ##
-if [ `$AUTOCONF --version | head -1 | cut -d.  -f 2` -lt 53 ]; then
 
-       ## maybe it's installed under a different name (e.g. RedHat 7.3)
+for i in $TESTAUTOCONF; do
+       if which $i > /dev/null 2>&1; then
+               if test `$i --version | head -n 1 | cut -d.  -f 2 | sed "s/[^0-9]//g"` -ge 53; then
+                       AUTOCONF=$i
+                       AUTOCONFFOUND="1"
+                       break
+               fi
+       fi
+done
 
-       AUTOCONF="autoconf-2.53"
-       AUTOHEADER="autoheader-2.53"
 
+##
+## do we have it?
+##
+if test "$AUTOCONFFOUND" = "0" -o "$AUTOHEADERFOUND" = "0"; then
+       echo "$0: need autoconf 2.53 or later to build samba from git" >&2
+       exit 1
 fi
 
-echo "$0: running $AUTOHEADER"
-$AUTOHEADER || exit 1
+echo "$0: running script/mkversion.sh"
+./script/mkversion.sh || exit 1
+
+rm -rf autom4te*.cache
+rm -f configure include/config_tmp.h*
+
+IPATHS="-I. -Ilib/replace"
+
+echo "$0: running $AUTOHEADER $IPATHS"
+$AUTOHEADER $IPATHS || exit 1
+
+echo "$0: running $AUTOCONF $IPATHS"
+$AUTOCONF $IPATHS || exit 1
 
-echo "$0: running $AUTOCONF"
-$AUTOCONF || exit 1
+rm -rf autom4te*.cache
 
 echo "Now run ./configure and then make."
 exit 0