Bug 622294 - More annotations for GVariant
[platform/upstream/glib.git] / autogen.sh
index d9da49b..238cb0d 100755 (executable)
 #!/bin/sh
 # Run this to generate all the initial makefiles, etc.
 
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+PROJECT=GLib
+TEST_TYPE=-f
+FILE=glib/glib.h
+
 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
+           1.4*|1.5*|2.2*)
+               have_libtool=true
+               ;;
+       esac
+fi
+if $have_libtool ; then : ; else
        echo
-       echo "You must have autoconf installed to compile GLIB."
-       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 1.4 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 GLIB."
-       echo "Get ftp://alpha.gnu.org/gnu/libtool-1.0h.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 ftp://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 GLIB."
-       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 if automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then
+    AUTOMAKE=automake-1.9
+    ACLOCAL=aclocal-1.9
+else
+       echo
+       echo "You must have automake 1.9.x, 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
+fi
+
 if test "$DIE" -eq 1; then
        exit 1
 fi
 
-test -f glib.h || {
-       echo "You must run this script in the top-level GLIB directory"
+test $TEST_TYPE $FILE || {
+       echo "You must run this script in the top-level $PROJECT directory"
        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
 
-aclocal
-automake
-autoconf
-./configure "$@"
+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 || exit $?
 
-echo 
-echo "Now type 'make' to compile GLIB."
+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