autogen.sh 5.87 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 19
LIBTOOL_REQUIRED_VERSION=1.3.4
AUTOCONF_REQUIRED_VERSION=2.52
AUTOMAKE_REQUIRED_VERSION=1.4
Manish Singh's avatar
emptied  
Manish Singh committed
20
AUTOMAKE16_REQUIRED_VERSION=1.6
Sven Neumann's avatar
Sven Neumann committed
21 22
GLIB_REQUIRED_VERSION=2.0.0
INTLTOOL_REQUIRED_VERSION=0.17
Manish Singh's avatar
Manish Singh committed
23

Manish Singh's avatar
emptied  
Manish Singh committed
24 25
ACLOCAL_INTERNAL_FLAGS=

Manish Singh's avatar
Manish Singh committed
26

Sven Neumann's avatar
Sven Neumann committed
27 28 29 30 31
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir

32

33
check_version ()
34 35 36 37 38 39 40 41 42
{
    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
43
echo
44 45 46
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
47 48
echo

Sven Neumann's avatar
Sven Neumann committed
49 50 51
DIE=0

echo -n "checking for libtool >= $LIBTOOL_REQUIRED_VERSION ... "
52
if (libtoolize --version) < /dev/null > /dev/null 2>&1; then
Sven Neumann's avatar
Sven Neumann committed
53 54
    VER=`libtoolize --version \
         | grep libtool | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
55
    check_version $VER $LIBTOOL_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
56 57 58 59 60 61
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;
62 63
fi

Sven Neumann's avatar
Sven Neumann committed
64 65 66 67
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/"`
68
    check_version $VER $AUTOCONF_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
69 70 71 72 73 74
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
75 76
fi

Sven Neumann's avatar
Sven Neumann committed
77
echo -n "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
Manish Singh's avatar
emptied  
Manish Singh committed
78 79 80 81 82 83 84 85 86
if (automake-1.6 --version) < /dev/null > /dev/null 2>&1; then
    VER=`automake-1.6 --version \
         | grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
    check_version $VER $AUTOMAKE16_REQUIRED_VERSION

    AUTOMAKE=automake-1.6
    ACLOCAL=aclocal-1.6
    ACLOCAL_INTERNAL_FLAGS="-I m4compat/1.6"
elif (automake --version) < /dev/null > /dev/null 2>&1; then
Sven Neumann's avatar
Sven Neumann committed
87 88
    VER=`automake --version \
         | grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
89
    check_version $VER $AUTOMAKE_REQUIRED_VERSION
Manish Singh's avatar
emptied  
Manish Singh committed
90 91 92 93 94 95 96

    AUTOMAKE=automake
    ACLOCAL=aclocal
    ACLOCAL_INTERNAL_FLAGS="-I m4compat/1.4"

    echo
    echo "  You do not have automake 1.6."
97
    echo "  $PROJECT build will work, but the python binding will not be there."
Manish Singh's avatar
emptied  
Manish Singh committed
98 99 100 101 102
    echo "  Upgrade automake if you want this functionality."
    echo
    echo "  NOTE: you will get warnings from plug-ins/pygimp/Makefile.am."
    echo "  This is normal."
    echo
Sven Neumann's avatar
Sven Neumann committed
103 104 105
else
    echo
    echo "  You must have automake installed to compile $PROJECT."
Manish Singh's avatar
emptied  
Manish Singh committed
106
    echo "  Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.6.3.tar.gz"
Sven Neumann's avatar
Sven Neumann committed
107 108
    echo "  (or a newer version if it is available)"
    DIE=1
Manish Singh's avatar
Manish Singh committed
109 110
fi

Sven Neumann's avatar
Sven Neumann committed
111 112 113 114
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/"`
115
    check_version $VER $GLIB_REQUIRED_VERSION
116
else
Sven Neumann's avatar
Sven Neumann committed
117 118 119 120 121
    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
122 123
fi

Sven Neumann's avatar
Sven Neumann committed
124 125 126 127
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/"`
128
    check_version $VER $INTLTOOL_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
129 130 131 132
else
    echo
    echo "You must have intltool installed to compile $PROJECT."
    echo "Get the latest version from"
133
    echo "ftp://ftp.gnome.org/pub/GNOME/sources/intltool/"
Sven Neumann's avatar
Sven Neumann committed
134
    DIE=1
135
fi
Sven Neumann's avatar
Sven Neumann committed
136

Manish Singh's avatar
Manish Singh committed
137
if test "$DIE" -eq 1; then
Sven Neumann's avatar
Sven Neumann committed
138 139 140 141
    echo
    echo "Please install/upgrade the missing tools and call me again."
    echo	
    exit 1
Manish Singh's avatar
Manish Singh committed
142 143
fi

Sven Neumann's avatar
Sven Neumann committed
144

145
test $TEST_TYPE $FILE || {
Sven Neumann's avatar
Sven Neumann committed
146 147 148 149
    echo
    echo "You must run this script in the top-level $PROJECT directory."
    echo
    exit 1
Manish Singh's avatar
Manish Singh committed
150 151
}

Sven Neumann's avatar
Sven Neumann committed
152

Manish Singh's avatar
Manish Singh committed
153
if test -z "$*"; then
Sven Neumann's avatar
Sven Neumann committed
154 155 156 157
    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
158 159
fi

160
case $CC in
Sven Neumann's avatar
Sven Neumann committed
161 162 163
    *xlc | *xlc\ * | *lcc | *lcc\ *)
	am_opt=--include-deps
    ;;
164
esac
Manish Singh's avatar
Manish Singh committed
165

Manish Singh's avatar
emptied  
Manish Singh committed
166 167
echo

168 169
if test -z "$ACLOCAL_FLAGS"; then

Sven Neumann's avatar
Sven Neumann committed
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
    acdir=`aclocal --print-ac-dir`
    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
186
fi
187

Manish Singh's avatar
emptied  
Manish Singh committed
188 189 190 191
if ! $ACLOCAL $ACLOCAL_INTERNAL_FLAGS $ACLOCAL_FLAGS; then
   echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
   exit 1
fi
Manish Singh's avatar
Manish Singh committed
192

193 194
# optionally feature autoheader
(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader
Manish Singh's avatar
Manish Singh committed
195

Manish Singh's avatar
emptied  
Manish Singh committed
196
$AUTOMAKE --add-missing $am_opt
197
autoconf
Manish Singh's avatar
Manish Singh committed
198

199 200 201
glib-gettextize --copy --force
intltoolize --copy --force --automake

Manish Singh's avatar
Manish Singh committed
202
cd $ORIGDIR
203

204
$srcdir/configure --enable-maintainer-mode --enable-gtk-doc "$@"
Manish Singh's avatar
Manish Singh committed
205

Sven Neumann's avatar
Sven Neumann committed
206
echo
207
echo "Now type 'make' to compile $PROJECT."