autogen.sh 5.3 KB
Newer Older
Sven Neumann's avatar
Sven Neumann committed
1 2 3 4 5 6 7 8 9 10
#!/bin/sh 

# This script does all the magic calls to automake/autoconf and
# friends that are needed to configure a cvs checkout.  As described in
# the file HACKING you need a couple of extra tools to run this script
# successfully.
#
# If you are compiling from a released tarball you don't need these
# tools and you shouldn't use this script.  Just call ./configure
# directly.
Manish Singh's avatar
Manish Singh committed
11

12

13
PROJECT="The GIMP"
14 15 16
TEST_TYPE=-d
FILE=plug-ins

Sven Neumann's avatar
Sven Neumann committed
17 18
LIBTOOL_REQUIRED_VERSION=1.3.4
AUTOCONF_REQUIRED_VERSION=2.52
Manish Singh's avatar
Manish Singh committed
19
AUTOMAKE_REQUIRED_VERSION=1.6
Sven Neumann's avatar
Sven Neumann committed
20 21
GLIB_REQUIRED_VERSION=2.0.0
INTLTOOL_REQUIRED_VERSION=0.17
Manish Singh's avatar
Manish Singh committed
22 23


Sven Neumann's avatar
Sven Neumann committed
24 25 26 27 28
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir

29

30
check_version ()
31 32 33 34 35 36 37 38 39
{
    if expr $1 \>= $2 > /dev/null; then
	echo "yes (version $1)"
    else
	echo "Too old (found version $1)!"
	DIE=1
    fi
}

Sven Neumann's avatar
Sven Neumann committed
40
echo
41 42 43
echo "I am testing that you have the required versions of libtool, autoconf," 
echo "automake, glib-gettextize and intltoolize. This test is not foolproof,"
echo "so if anything goes wrong, see the file HACKING for more information..."
Manish Singh's avatar
Manish Singh committed
44 45
echo

Sven Neumann's avatar
Sven Neumann committed
46 47 48
DIE=0

echo -n "checking for libtool >= $LIBTOOL_REQUIRED_VERSION ... "
49
if (libtoolize --version) < /dev/null > /dev/null 2>&1; then
Sven Neumann's avatar
Sven Neumann committed
50 51
    VER=`libtoolize --version \
         | grep libtool | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
52
    check_version $VER $LIBTOOL_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
53 54 55 56 57 58
else
    echo
    echo "  You must have libtool installed to compile $PROJECT."
    echo "  Install the appropriate package for your distribution,"
    echo "  or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
    DIE=1;
59 60
fi

Sven Neumann's avatar
Sven Neumann committed
61 62 63 64
echo -n "checking for autoconf >= $AUTOCONF_REQUIRED_VERSION ... "
if (autoconf --version) < /dev/null > /dev/null 2>&1; then
    VER=`autoconf --version \
         | grep -iw autoconf | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
65
    check_version $VER $AUTOCONF_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
66 67 68 69 70 71
else
    echo
    echo "  You must have autoconf installed to compile $PROJECT."
    echo "  Download the appropriate package for your distribution,"
    echo "  or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
    DIE=1;
Manish Singh's avatar
Manish Singh committed
72 73
fi

Sven Neumann's avatar
Sven Neumann committed
74
echo -n "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
75
if (automake-1.7 --version) < /dev/null > /dev/null 2>&1; then
76 77
   AUTOMAKE=automake-1.7
   ACLOCAL=aclocal-1.7
78 79 80
elif (automake-1.6 --version) < /dev/null > /dev/null 2>&1; then
   AUTOMAKE=automake-1.6
   ACLOCAL=aclocal-1.6
Sven Neumann's avatar
Sven Neumann committed
81 82
else
    echo
83 84
    echo "  You must have automake 1.6 or 1.7 installed to compile $PROJECT."
    echo "  Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.7.3.tar.gz"
Sven Neumann's avatar
Sven Neumann committed
85 86
    echo "  (or a newer version if it is available)"
    DIE=1
Manish Singh's avatar
Manish Singh committed
87 88
fi

89 90 91 92 93 94
if test x$AUTOMAKE != x; then
    VER=`$AUTOMAKE --version \
         | grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
    check_version $VER $AUTOMAKE_REQUIRED_VERSION
fi

Sven Neumann's avatar
Sven Neumann committed
95 96 97 98
echo -n "checking for glib-gettextize >= $GLIB_REQUIRED_VERSION ... "
if (glib-gettextize --version) < /dev/null > /dev/null 2>&1; then
    VER=`glib-gettextize --version \
         | grep glib-gettextize | sed "s/.* \([0-9.]*\)/\1/"`
99
    check_version $VER $GLIB_REQUIRED_VERSION
100
else
Sven Neumann's avatar
Sven Neumann committed
101 102 103 104 105
    echo
    echo "  You must have glib-gettextize installed to compile $PROJECT."
    echo "  glib-gettextize is part of glib-2.0, so you should already"
    echo "  have it. Make sure it is in your PATH."
    DIE=1
106 107
fi

Sven Neumann's avatar
Sven Neumann committed
108 109 110 111
echo -n "checking for intltool >= $INTLTOOL_REQUIRED_VERSION ... "
if (intltoolize --version) < /dev/null > /dev/null 2>&1; then
    VER=`intltoolize --version \
         | grep intltoolize | sed "s/.* \([0-9.]*\)/\1/"`
112
    check_version $VER $INTLTOOL_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
113 114
else
    echo
115 116 117
    echo "  You must have intltool installed to compile $PROJECT."
    echo "  Get the latest version from"
    echo "  ftp://ftp.gnome.org/pub/GNOME/sources/intltool/"
Sven Neumann's avatar
Sven Neumann committed
118
    DIE=1
119
fi
Sven Neumann's avatar
Sven Neumann committed
120

Manish Singh's avatar
Manish Singh committed
121
if test "$DIE" -eq 1; then
Sven Neumann's avatar
Sven Neumann committed
122 123 124 125
    echo
    echo "Please install/upgrade the missing tools and call me again."
    echo	
    exit 1
Manish Singh's avatar
Manish Singh committed
126 127
fi

Sven Neumann's avatar
Sven Neumann committed
128

129
test $TEST_TYPE $FILE || {
Sven Neumann's avatar
Sven Neumann committed
130 131 132 133
    echo
    echo "You must run this script in the top-level $PROJECT directory."
    echo
    exit 1
Manish Singh's avatar
Manish Singh committed
134 135
}

Sven Neumann's avatar
Sven Neumann committed
136

Manish Singh's avatar
Manish Singh committed
137
if test -z "$*"; then
Sven Neumann's avatar
Sven Neumann committed
138 139 140 141
    echo
    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."
    echo
Manish Singh's avatar
Manish Singh committed
142 143
fi

144 145
if test -z "$ACLOCAL_FLAGS"; then

146
    acdir=`$ACLOCAL --print-ac-dir`
Sven Neumann's avatar
Sven Neumann committed
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
    m4list="glib-2.0.m4 glib-gettext.m4 gtk-2.0.m4 intltool.m4 pkg.m4"

    for file in $m4list
    do
	if [ ! -f "$acdir/$file" ]; then
	    echo
	    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
162
fi
163

164
if ! $ACLOCAL $ACLOCAL_FLAGS; then
Manish Singh's avatar
Manish Singh committed
165 166 167
   echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
   exit 1
fi
Manish Singh's avatar
Manish Singh committed
168

169 170
libtoolize --copy --force

171 172
# optionally feature autoheader
(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader
Manish Singh's avatar
Manish Singh committed
173

174
$AUTOMAKE --add-missing
175
autoconf
Manish Singh's avatar
Manish Singh committed
176

177 178 179
glib-gettextize --copy --force
intltoolize --copy --force --automake

Manish Singh's avatar
Manish Singh committed
180
cd $ORIGDIR
181

182 183 184 185 186 187 188
if $srcdir/configure --enable-maintainer-mode --enable-gtk-doc "$@"; then
  echo
  echo "Now type 'make' to compile $PROJECT."
else
  echo
  echo "Configure failed or did not finish!"
fi
Manish Singh's avatar
Manish Singh committed
189