231 lines
7.2 KiB
Bash
231 lines
7.2 KiB
Bash
#!/bin/sh
|
|
# $Id: autogen.sh,v 1.4 2001/08/12 03:34:50 thosch Rel $
|
|
# Copyright (C) 2001 Thomas Schulz
|
|
#
|
|
# Run this to generate configure and all the initial makefiles, etc.
|
|
# This is the long version with lots of checks instead of the short version
|
|
# aclocal && autoheader && automake --add-missing --gnu && autoconf
|
|
# It will automagically run './configure $CONFIGURE_FLAGS', prevent that
|
|
# by setting the environment variable NOCONFIGURE to a non-empty value.
|
|
|
|
# NOCONFIGURE=true # would disable auto-configure
|
|
CONFIGURE_FLAGS="--enable-maintainer-mode" # default flags for configure
|
|
# ACLOCAL_FLAGS= # additional flags for aclocal
|
|
|
|
|
|
DIE=0
|
|
srcdir=`dirname $0`
|
|
eval `grep '^PACKAGE=' $srcdir/configure.in`
|
|
|
|
if [ -n "$GNOME2_PATH" ]; then
|
|
ACLOCAL_FLAGS="-I $GNOME2_PATH/share/aclocal $ACLOCAL_FLAGS"
|
|
PATH="$GNOME2_PATH/bin:$PATH"
|
|
export PATH
|
|
fi
|
|
|
|
#
|
|
# check for autoconf
|
|
#
|
|
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
|
echo
|
|
echo "**Error**: You must have \`autoconf' installed to compile $PACKAGE"
|
|
echo "Download the appropriate package for your distribution,"
|
|
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
|
DIE=1
|
|
}
|
|
|
|
#
|
|
# check for xml-i18n-toolize if needed
|
|
#
|
|
(grep "^AM_PROG_XML_I18N_TOOLS" $srcdir/configure.in >/dev/null) && {
|
|
(xml-i18n-toolize --version) < /dev/null > /dev/null 2>&1 || {
|
|
echo
|
|
echo "**Error**: You must have \`xml-i18n-toolize' installed to compile $PACKAGE"
|
|
echo "Get ftp://ftp.gnome.org/pub/GNOME/stable/sources/xml-i18n-tools/xml-i18n-tools-0.6.tar.gz"
|
|
echo "(or a newer version if it is available)"
|
|
DIE=1
|
|
}
|
|
}
|
|
|
|
#
|
|
# check for libtool if needed
|
|
#
|
|
(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
|
|
(libtool --version) < /dev/null > /dev/null 2>&1 || {
|
|
echo
|
|
echo "**Error**: You must have \`libtool' installed to compile $PACKAGE"
|
|
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
|
|
echo "(or a newer version if it is available)"
|
|
DIE=1
|
|
}
|
|
}
|
|
|
|
#
|
|
# check for gettext if needed
|
|
#
|
|
#grep "^AM_GNU_GETTEXT" $srcdir/configure.in >/dev/null && {
|
|
# grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
|
|
# (gettext --version) < /dev/null > /dev/null 2>&1 || {
|
|
# echo
|
|
# echo "**Error**: You must have \`gettext' installed to compile $PACKAGE"
|
|
# echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
|
|
# echo "(or a newer version if it is available)"
|
|
# DIE=1
|
|
# }
|
|
#}
|
|
|
|
#grep "^AM_GNOME_GETTEXT" $srcdir/configure.in >/dev/null && {
|
|
# grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
|
|
# (gettext --version) < /dev/null > /dev/null 2>&1 || {
|
|
# echo
|
|
# echo "**Error**: You must have \`gettext' installed to compile $PACKAGE"
|
|
# echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
|
|
# echo "(or a newer version if it is available)"
|
|
# DIE=1
|
|
# }
|
|
#}
|
|
|
|
#
|
|
# check for automake
|
|
#
|
|
(automake --version) < /dev/null > /dev/null 2>&1 || {
|
|
echo
|
|
echo "**Error**: You must have \`automake' installed to compile $PACKAGE"
|
|
echo "Download the appropriate package for your distribution,"
|
|
echo "or get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
|
|
echo "(or a newer version if it is available)"
|
|
DIE=1
|
|
NO_AUTOMAKE=yes
|
|
}
|
|
|
|
#
|
|
# check for aclocal
|
|
#
|
|
# if no automake, don't bother testing for aclocal
|
|
test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
|
|
echo
|
|
echo "**Error**: Missing \`aclocal'. The version of \`automake'"
|
|
echo "installed doesn't appear recent enough."
|
|
echo "Download the appropriate package for your distribution,"
|
|
echo "or get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
|
|
echo "(or a newer version if it is available)"
|
|
DIE=1
|
|
}
|
|
|
|
if test "$DIE" -eq 1; then # some tools are missing
|
|
exit 1
|
|
fi
|
|
|
|
if test -z "$*" -a -z "$NOCONFIGURE"; then
|
|
echo "**Warning**: I am going to run \`configure $CONFIGURE_FLAGS'"
|
|
echo "If you wish to pass additional flags to it, please specify them on"
|
|
echo "the \`$0' command line."
|
|
echo
|
|
fi
|
|
|
|
case $CC in
|
|
xlc )
|
|
am_opt=--include-deps;;
|
|
esac
|
|
|
|
for coin in `find $srcdir -name configure.in -print`
|
|
do
|
|
dr=`dirname $coin`
|
|
if test -f $dr/NO-AUTO-GEN; then
|
|
echo skipping $dr -- flagged as no auto-gen
|
|
else
|
|
echo processing $dr
|
|
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
|
|
( cd $dr
|
|
macrosdir=`find . -name macros -print`
|
|
for i in $macrodirs; do
|
|
if test -f $i/gnome-gettext.m4; then
|
|
DELETEFILES="$DELETEFILES $i/gnome-gettext.m4"
|
|
fi
|
|
done
|
|
|
|
echo "deletefiles is $DELETEFILES"
|
|
aclocalinclude="$ACLOCAL_FLAGS"
|
|
for k in $aclocalinclude; do
|
|
if test -d $k; then
|
|
if [ -f $k/gnome.m4 -a "$GNOME_INTERFACE_VERSION" = "1" ]; then
|
|
rm -f $DELETEFILES
|
|
fi
|
|
fi
|
|
done
|
|
for k in $macrodirs; do
|
|
if test -d $k; then
|
|
aclocalinclude="$aclocalinclude -I $k"
|
|
if [ -f $k/gnome.m4 -a "$GNOME_INTERFACE_VERSION" = "1" ]; then
|
|
rm -f $DELETEFILES
|
|
fi
|
|
fi
|
|
done
|
|
if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then
|
|
if grep "sed.*POTFILES" configure.in >/dev/null; then
|
|
: do nothing -- we still have an old unmodified configure.in
|
|
else
|
|
echo "Creating $dr/aclocal.m4 ..."
|
|
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
echo "Running gettextize... Ignore non-fatal messages."
|
|
echo "no" | gettextize --force --copy
|
|
echo "Making $dr/aclocal.m4 writable ..."
|
|
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
fi
|
|
fi
|
|
if grep "^AM_GNOME_GETTEXT" configure.in >/dev/null; then
|
|
echo "Creating $dr/aclocal.m4 ..."
|
|
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
echo "Running gettextize... Ignore non-fatal messages."
|
|
echo "no" | gettextize --force --copy
|
|
echo "Making $dr/aclocal.m4 writable ..."
|
|
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
fi
|
|
if grep "^AM_PROG_XML_I18N_TOOLS" configure.in >/dev/null; then
|
|
echo "Running xml-i18n-toolize... Ignore non-fatal messages."
|
|
xml-i18n-toolize --copy --force --automake
|
|
fi
|
|
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
|
|
if test -z "$NO_LIBTOOLIZE" ; then
|
|
echo "Running libtoolize..."
|
|
libtoolize --force --copy
|
|
fi
|
|
fi
|
|
echo "Running aclocal $aclocalinclude ..."
|
|
aclocal $aclocalinclude || {
|
|
echo
|
|
echo "**Error**: aclocal failed. This may mean that you have not"
|
|
echo "installed all of the packages you need, or you may need to"
|
|
echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\""
|
|
echo "for the prefix where you installed the packages whose"
|
|
echo "macros were not found"
|
|
exit 1
|
|
}
|
|
|
|
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
|
|
echo "Running autoheader..."
|
|
autoheader || { echo "**Error**: autoheader failed."; exit 1; }
|
|
fi
|
|
echo "Running automake --gnu $am_opt ..."
|
|
automake --add-missing --gnu $am_opt ||
|
|
{ echo "**Error**: automake failed."; exit 1; }
|
|
echo "Running autoconf ..."
|
|
autoconf || { echo "**Error**: autoconf failed."; exit 1; }
|
|
) || exit 1
|
|
fi
|
|
done
|
|
|
|
|
|
if test x$NOCONFIGURE = x; then
|
|
echo
|
|
echo Running $srcdir/configure $CONFIGURE_FLAGS "$@" ...
|
|
$srcdir/configure $CONFIGURE_FLAGS "$@" \
|
|
&& echo Now type \`make\' to compile $PACKAGE || exit 1
|
|
else
|
|
echo
|
|
echo Skipping configure process.
|
|
echo "Now type \`./configure $CONFIGURE_FLAGS'"
|
|
echo "and then \`make' to compile $PACKAGE"
|
|
echo " or type \`./configure --help' and see README for configure options."
|
|
fi
|