]> Pileus Git - ~andy/gtk/blobdiff - autogen.sh
Support NOCONFIGURE (from gnome-common)
[~andy/gtk] / autogen.sh
index d2c55586db1f708c0a4135ecaa98e599242833ad..71709baa84b6f1e8d5137748c074562545b27a0a 100755 (executable)
@@ -1,36 +1,68 @@
 #!/bin/sh
 # Run this to generate all the initial makefiles, etc.
 
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
 PROJECT=Gtk+
 TEST_TYPE=-d
 FILE=gdk
 
 DIE=0
 
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+have_libtool=false
+if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
+       libtool_version=`libtoolize --version |
+                        head -1 |
+                        sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
+                            -e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
+       case $libtool_version in
+           2.2*)
+               have_libtool=true
+               ;;
+       esac
+fi
+if $have_libtool ; then : ; else
        echo
-       echo "You must have autoconf installed to compile $PROJECT."
-       echo "Download the appropriate package for your distribution,"
-       echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+       echo "You must have libtool 2.2 installed to compile $PROJECT."
+       echo "Install the appropriate package for your distribution,"
+       echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
        DIE=1
-}
+fi
 
-(libtool --version) < /dev/null > /dev/null 2>&1 || {
+(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
        echo
-       echo "You must have libtool installed to compile $PROJECT."
-       echo "Get ftp://alpha.gnu.org/gnu/libtool-1.2b.tar.gz"
-       echo "(or a newer version if it is available)"
+       echo "You must have gtk-doc installed to compile $PROJECT."
+       echo "Install the appropriate package for your distribution,"
+       echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
        DIE=1
 }
 
-(automake --version) < /dev/null > /dev/null 2>&1 || {
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
        echo
-       echo "You must have automake installed to compile $PROJECT."
-       echo "Get ftp://ftp.cygnus.com/pub/home/tromey/automake-1.2d.tar.gz"
-       echo "(or a newer version if it is available)"
+       echo "You must have autoconf installed to compile $PROJECT."
+       echo "Install the appropriate package for your distribution,"
+       echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
        DIE=1
 }
 
+if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
+    AUTOMAKE=automake-1.11
+    ACLOCAL=aclocal-1.11
+else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
+    AUTOMAKE=automake-1.10
+    ACLOCAL=aclocal-1.10
+else
+       echo
+       echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
+       echo "Install the appropriate package for your distribution,"
+       echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
+       DIE=1
+fi
+fi
+
 if test "$DIE" -eq 1; then
        exit 1
 fi
@@ -40,24 +72,58 @@ test $TEST_TYPE $FILE || {
        exit 1
 }
 
-if test -z "$*"; then
-       echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
+# NOCONFIGURE is used by gnome-common; support both
+if ! test -z "$AUTOGEN_SUBDIR_MODE"; then
+    NOCONFIGURE=1
+fi
+
+if test -z "$NOCONFIGURE"; then
+        if test -z "$*"; then
+                echo "I am going to run ./configure with no arguments - if you wish "
+                echo "to pass any to it, please specify them on the $0 command line."
+        fi
 fi
 
-case $CC in
-*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
-esac
+if test -z "$ACLOCAL_FLAGS"; then
+
+       acdir=`$ACLOCAL --print-ac-dir`
+        m4list="glib-2.0.m4 glib-gettext.m4"
 
-aclocal $ACLOCAL_FLAGS
+       for file in $m4list
+       do
+               if [ ! -f "$acdir/$file" ]; then
+                       echo "WARNING: aclocal's directory is $acdir, but..."
+                       echo "         no file $acdir/$file"
+                       echo "         You may see fatal macro warnings below."
+                       echo "         If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
+                       echo "         environment variable to \"-I /some/dir\", or install"
+                       echo "         $acdir/$file."
+                       echo ""
+               fi
+       done
+fi
 
-# optionally feature autoheader
-(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader
+rm -rf autom4te.cache
 
-automake $am_opt
-autoconf
+# README and INSTALL are required by automake, but may be deleted by clean
+# up rules. to get automake to work, simply touch these here, they will be
+# regenerated from their corresponding *.in files by ./configure anyway.
+touch README INSTALL
 
-./configure "$@"
+$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
 
-echo 
-echo "Now type 'make' to compile $PROJECT."
+libtoolize --force || exit $?
+gtkdocize || exit $?
+
+autoheader || exit $?
+
+$AUTOMAKE --add-missing || exit $?
+autoconf || exit $?
+cd $ORIGDIR || exit $?
+
+if test -z "$NOCONFIGURE"; then
+        $srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
+
+        echo 
+        echo "Now type 'make' to compile $PROJECT."
+fi