autogen.sh 2.89 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
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
17 18 19 20
	libtool_version=`libtoolize --version |
			 head -1 |
			 sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
			     -e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
21
	case $libtool_version in
22
	    1.4*|1.5*|2.2*)
23 24 25 26 27 28 29 30
		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,"
31
	echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
32 33 34
	DIE=1
fi

35 36 37 38 39 40 41 42
(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
43 44
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
	echo
45
	echo "You must have autoconf installed to compile $PROJECT."
46 47
	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
48 49 50
	DIE=1
}

Matthias Clasen's avatar
Matthias Clasen committed
51 52 53 54
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
Matthias Clasen's avatar
Matthias Clasen committed
55 56
    AUTOMAKE=automake-1.10
    ACLOCAL=aclocal-1.10
Matthias Clasen's avatar
Matthias Clasen committed
57 58 59
else if automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then
    AUTOMAKE=automake-1.9
    ACLOCAL=aclocal-1.9
Matthias Clasen's avatar
Matthias Clasen committed
60
else
Owen Taylor's avatar
Owen Taylor committed
61
	echo
Matthias Clasen's avatar
Matthias Clasen committed
62
	echo "You must have automake 1.9.x, 1.10.x or 1.11.x installed to compile $PROJECT."
63 64
	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
65
	DIE=1
66
fi
Matthias Clasen's avatar
Matthias Clasen committed
67
fi
Matthias Clasen's avatar
Matthias Clasen committed
68
fi
Owen Taylor's avatar
Owen Taylor committed
69 70 71 72 73

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

74 75
test $TEST_TYPE $FILE || {
	echo "You must run this script in the top-level $PROJECT directory"
Owen Taylor's avatar
Owen Taylor committed
76 77 78
	exit 1
}

79 80 81 82 83
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
84 85
fi

86 87
rm -rf autom4te.cache

88 89 90 91 92
# 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

93
$ACLOCAL $ACLOCAL_FLAGS || exit $?
94

95 96
libtoolize --force || exit $?
gtkdocize || exit $?
Tim Janik's avatar
Tim Janik committed
97

98
autoheader || exit $?
99

100 101 102
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
Tim Janik's avatar
Tim Janik committed
103

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

107 108
        echo 
        echo "Now type 'make' to compile $PROJECT."
109
fi