]> Pileus Git - ~andy/gtk/blob - autogen.sh
Clean autotools configuration a bit
[~andy/gtk] / autogen.sh
1 #!/bin/sh
2 # Run this to generate all the initial makefiles, etc.
3
4 srcdir=`dirname $0`
5 test -z "$srcdir" && srcdir=.
6
7 ORIGDIR=`pwd`
8 cd $srcdir
9 PROJECT=Gtk+
10 TEST_TYPE=-d
11 FILE=gdk
12
13 DIE=0
14
15 have_libtool=false
16 if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
17         libtool_version=`libtoolize --version |
18                          head -1 |
19                          sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
20                              -e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
21         case $libtool_version in
22             2.2*)
23                 have_libtool=true
24                 ;;
25         esac
26 fi
27 if $have_libtool ; then : ; else
28         echo
29         echo "You must have libtool 2.2 installed to compile $PROJECT."
30         echo "Install the appropriate package for your distribution,"
31         echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
32         DIE=1
33 fi
34
35 (gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
36         echo
37         echo "You must have gtk-doc installed to compile $PROJECT."
38         echo "Install the appropriate package for your distribution,"
39         echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
40         DIE=1
41 }
42
43 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
44         echo
45         echo "You must have autoconf installed to compile $PROJECT."
46         echo "Install the appropriate package for your distribution,"
47         echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
48         DIE=1
49 }
50
51 if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
52     AUTOMAKE=automake-1.11
53     ACLOCAL=aclocal-1.11
54 else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
55     AUTOMAKE=automake-1.10
56     ACLOCAL=aclocal-1.10
57 else
58         echo
59         echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
60         echo "Install the appropriate package for your distribution,"
61         echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
62         DIE=1
63 fi
64 fi
65
66 if test "$DIE" -eq 1; then
67         exit 1
68 fi
69
70 test $TEST_TYPE $FILE || {
71         echo "You must run this script in the top-level $PROJECT directory"
72         exit 1
73 }
74
75 if test -z "$AUTOGEN_SUBDIR_MODE"; then
76         if test -z "$*"; then
77                 echo "I am going to run ./configure with no arguments - if you wish "
78                 echo "to pass any to it, please specify them on the $0 command line."
79         fi
80 fi
81
82 if test -z "$ACLOCAL_FLAGS"; then
83
84         acdir=`$ACLOCAL --print-ac-dir`
85         m4list="glib-2.0.m4 glib-gettext.m4"
86
87         for file in $m4list
88         do
89                 if [ ! -f "$acdir/$file" ]; then
90                         echo "WARNING: aclocal's directory is $acdir, but..."
91                         echo "         no file $acdir/$file"
92                         echo "         You may see fatal macro warnings below."
93                         echo "         If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
94                         echo "         environment variable to \"-I /some/dir\", or install"
95                         echo "         $acdir/$file."
96                         echo ""
97                 fi
98         done
99 fi
100
101 rm -rf autom4te.cache
102
103 # README and INSTALL are required by automake, but may be deleted by clean
104 # up rules. to get automake to work, simply touch these here, they will be
105 # regenerated from their corresponding *.in files by ./configure anyway.
106 touch README INSTALL
107
108 libtoolize --force || exit $?
109 gtkdocize || exit $?
110
111 autoheader || exit $?
112
113 $AUTOMAKE --add-missing || exit $?
114 autoconf || exit $?
115 cd $ORIGDIR || exit $?
116
117 if test -z "$AUTOGEN_SUBDIR_MODE"; then
118         $srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
119
120         echo 
121         echo "Now type 'make' to compile $PROJECT."
122 fi