autogen.sh 5.51 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
LIBTOOL_REQUIRED_VERSION=1.3.4
18
LIBTOOL_WIN32=1.5.0
Sven Neumann's avatar
Sven Neumann committed
19
AUTOCONF_REQUIRED_VERSION=2.54
Manish Singh's avatar
Manish Singh committed
20
AUTOMAKE_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 24


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

30

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

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

49 50 51 52 53 54 55 56 57 58 59

OS=`uname -s`
case $OS in 
    *ygwin* | *ingw*)
	echo "Looks like Win32, you will need libtool $LIBTOOL_WIN32 or newer."
	echo
	LIBTOOL_REQUIRED_VERSION=$LIBTOOL_WIN32
	;;
esac


Sven Neumann's avatar
Sven Neumann committed
60
echo -n "checking for libtool >= $LIBTOOL_REQUIRED_VERSION ... "
61
if (libtoolize --version) < /dev/null > /dev/null 2>&1; then
Sven Neumann's avatar
Sven Neumann committed
62 63
    VER=`libtoolize --version \
         | grep libtool | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
64
    check_version $VER $LIBTOOL_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
65 66 67 68 69 70
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;
71 72
fi

Sven Neumann's avatar
Sven Neumann committed
73 74 75 76
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/"`
77
    check_version $VER $AUTOCONF_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
78 79 80 81 82 83
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
84 85
fi

Sven Neumann's avatar
Sven Neumann committed
86
echo -n "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
87
if (automake-1.7 --version) < /dev/null > /dev/null 2>&1; then
88 89
   AUTOMAKE=automake-1.7
   ACLOCAL=aclocal-1.7
90 91 92
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
93 94
else
    echo
95 96
    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
97 98
    echo "  (or a newer version if it is available)"
    DIE=1
Manish Singh's avatar
Manish Singh committed
99 100
fi

101 102 103 104 105 106
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
107 108 109 110
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/"`
111
    check_version $VER $GLIB_REQUIRED_VERSION
112
else
Sven Neumann's avatar
Sven Neumann committed
113 114 115 116 117
    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
118 119
fi

Sven Neumann's avatar
Sven Neumann committed
120 121 122 123
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/"`
124
    check_version $VER $INTLTOOL_REQUIRED_VERSION
Sven Neumann's avatar
Sven Neumann committed
125 126
else
    echo
127 128 129
    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
130
    DIE=1
131
fi
Sven Neumann's avatar
Sven Neumann committed
132

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

Sven Neumann's avatar
Sven Neumann committed
140

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

Sven Neumann's avatar
Sven Neumann committed
148

Manish Singh's avatar
Manish Singh committed
149
if test -z "$*"; then
Sven Neumann's avatar
Sven Neumann committed
150 151 152 153
    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
154 155
fi

156 157
if test -z "$ACLOCAL_FLAGS"; then

158
    acdir=`$ACLOCAL --print-ac-dir`
Sven Neumann's avatar
Sven Neumann committed
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
    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
174
fi
175

176 177 178
$ACLOCAL $ACLOCAL_FLAGS
RC=$?
if test $RC -ne 0; then
Manish Singh's avatar
emptied  
Manish Singh committed
179 180 181
   echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
   exit 1
fi
Manish Singh's avatar
Manish Singh committed
182

183 184
libtoolize --copy --force

185 186
# optionally feature autoheader
(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader
Manish Singh's avatar
Manish Singh committed
187

188
$AUTOMAKE --add-missing
189
autoconf
Manish Singh's avatar
Manish Singh committed
190

191 192 193
glib-gettextize --copy --force
intltoolize --copy --force --automake

Manish Singh's avatar
Manish Singh committed
194
cd $ORIGDIR
195

196 197 198 199 200 201 202
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
203