autogen.sh 3.42 KB
Newer Older
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 11 12
PROJECT=Gtk+
TEST_TYPE=-d
FILE=gdk

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 http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
	DIE=1
}

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/"
48 49 50
	DIE=1
}

51 52 53 54 55 56 57
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.7 --version < /dev/null > /dev/null 2>&1 ; then
58 59 60
    AUTOMAKE=automake-1.7
    ACLOCAL=aclocal-1.7
else
61
	echo
62
	echo "You must have automake 1.7.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/"
65
	DIE=1
66
fi
67 68
fi
fi
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"
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
84 85
fi

86 87
if test -z "$ACLOCAL_FLAGS"; then

88
	acdir=`$ACLOCAL --print-ac-dir`
89
        m4list="glib-2.0.m4 glib-gettext.m4"
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

	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

105 106
rm -rf autom4te.cache

107 108 109 110 111
# 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

112
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
113

114 115
libtoolize --force || exit $?
gtkdocize || exit $?
116

117
autoheader || exit $?
118

119 120 121
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
Tim Janik's avatar
Tim Janik committed
122

123
if test -z "$AUTOGEN_SUBDIR_MODE"; then
124
        $srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
Matthias Clasen's avatar
Matthias Clasen committed
125

126 127
        echo 
        echo "Now type 'make' to compile $PROJECT."
128
fi