autogen.sh 3.19 KB
Newer Older
Owen Taylor's avatar
Owen Taylor committed
1 2 3
#!/bin/sh
# Run this to generate all the initial makefiles, etc.

4 5 6
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.

7 8
ORIGDIR=`pwd`
cd $srcdir
9 10
PROJECT=GLib
TEST_TYPE=-f
11
FILE=glib/glib.h
12

Owen Taylor's avatar
Owen Taylor committed
13 14
DIE=0

15
have_libtool=false
16 17
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
	libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
18
	case $libtool_version in
19
	    1.4*|1.5*)
20 21 22 23 24 25 26 27
		have_libtool=true
		;;
	esac
fi
if $have_libtool ; then : ; else
	echo
	echo "You must have libtool 1.4 installed to compile $PROJECT."
	echo "Install the appropriate package for your distribution,"
28
	echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
29 30 31
	DIE=1
fi

32 33 34 35 36 37 38 39
(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
	echo
	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
}

Owen Taylor's avatar
Owen Taylor committed
40 41
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
	echo
42
	echo "You must have autoconf installed to compile $PROJECT."
43 44
	echo "Install the appropriate package for your distribution,"
	echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
Owen Taylor's avatar
Owen Taylor committed
45 46 47
	DIE=1
}

Matthias Clasen's avatar
Matthias Clasen committed
48
if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
49 50
    AUTOMAKE=automake-1.10
    ACLOCAL=aclocal-1.10
Matthias Clasen's avatar
Matthias Clasen committed
51 52 53
else if automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then
    AUTOMAKE=automake-1.9
    ACLOCAL=aclocal-1.9
54
else 
Owen Taylor's avatar
Owen Taylor committed
55
	echo
56
	echo "You must have automake 1.9.x or 1.10.x installed to compile $PROJECT."
57 58
	echo "Install the appropriate package for your distribution,"
	echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
Owen Taylor's avatar
Owen Taylor committed
59
	DIE=1
60
fi
61
fi
Owen Taylor's avatar
Owen Taylor committed
62 63 64 65 66

if test "$DIE" -eq 1; then
	exit 1
fi

67 68
test $TEST_TYPE $FILE || {
	echo "You must run this script in the top-level $PROJECT directory"
Owen Taylor's avatar
Owen Taylor committed
69 70 71
	exit 1
}

72 73 74 75 76
if test -z "$AUTOGEN_SUBDIR_MODE"; 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
Owen Taylor's avatar
Owen Taylor committed
77 78
fi

79 80
rm -rf autom4te.cache

81 82 83 84 85
# 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

86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
if [ ! -d build ]; then
  if [ -x "`which svn`" ]; then
    echo
    echo "=============================================================="
    echo "  your checkout doesn't contain build/."
    echo "      fetching it from http://svn.gnome.org/svn/build/trunk/"
    echo "=============================================================="
    echo

    svn checkout http://svn.gnome.org/svn/build/trunk/ build
  else
    echo
    echo 'warning: build/ directory is missing and no "svn" to fetch it!'
    echo
  fi
fi

103
$ACLOCAL $ACLOCAL_FLAGS || exit $?
104

105 106
libtoolize --force || exit $?
gtkdocize || exit $?
Tim Janik's avatar
Tim Janik committed
107

108
autoheader || exit $?
109

110 111 112
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
Tim Janik's avatar
Tim Janik committed
113

114
if test -z "$AUTOGEN_SUBDIR_MODE"; then
115
        $srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
Owen Taylor's avatar
Owen Taylor committed
116

117 118
        echo 
        echo "Now type 'make' to compile $PROJECT."
119
fi