]> Pileus Git - ~andy/gtk/blobdiff - autogen.sh
Support NOCONFIGURE (from gnome-common)
[~andy/gtk] / autogen.sh
index 6a8d3b0fe0a1a79b5313137390c38b0cbc74c1e6..71709baa84b6f1e8d5137748c074562545b27a0a 100755 (executable)
@@ -12,30 +12,57 @@ 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
@@ -45,19 +72,22 @@ 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
 
-case $CC in
-*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
-esac
+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
 
 if test -z "$ACLOCAL_FLAGS"; then
 
-       acdir=`aclocal --print-ac-dir`
-        m4list="glib.m4 gettext.m4"
+       acdir=`$ACLOCAL --print-ac-dir`
+        m4list="glib-2.0.m4 glib-gettext.m4"
 
        for file in $m4list
        do
@@ -73,22 +103,27 @@ if test -z "$ACLOCAL_FLAGS"; then
        done
 fi
 
-echo "Running gettextize...  Ignore non-fatal messages."
-# Hmm, we specify --force here, since otherwise things dont'
-# get added reliably, but we don't want to overwrite intl
-# while making dist.
-echo "no" | gettextize --copy --force
+rm -rf autom4te.cache
+
+# 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
 
-aclocal $ACLOCAL_FLAGS
+$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
 
-# optionally feature autoheader
-(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader
+libtoolize --force || exit $?
+gtkdocize || exit $?
 
-automake $am_opt
-autoconf
-cd $ORIGDIR
+autoheader || exit $?
 
-$srcdir/configure "$@"
+$AUTOMAKE --add-missing || exit $?
+autoconf || exit $?
+cd $ORIGDIR || exit $?
 
-echo 
-echo "Now type 'make' to compile $PROJECT."
+if test -z "$NOCONFIGURE"; then
+        $srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
+
+        echo 
+        echo "Now type 'make' to compile $PROJECT."
+fi