blob: 4007c55d6fd385929b289c7539d6956a083e45d3 [file] [log] [blame]
#! /bin/sh
#
# buildcheck.sh: Inspects the build setup to make detection and
# correction of problems an easier process.
# Initialize parameters
VERSION_CHECK="$1"
NEON_CHECK_CONTROL="$2"
if test "$VERSION_CHECK" != "--release"; then
echo "buildcheck: checking installation..."
else
echo "buildcheck: checking installation for a source release..."
fi
#--------------------------------------------------------------------------
# autoconf 2.50 or newer
#
ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//' -e 1q`
if test -z "$ac_version"; then
echo "buildcheck: autoconf not found."
echo " You need autoconf version 2.50 or newer installed."
exit 1
fi
IFS=.; set $ac_version; IFS=' '
if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
echo "buildcheck: autoconf version $ac_version found."
echo " You need autoconf version 2.50 or newer installed."
echo " If you have a sufficient autoconf installed, but it"
echo " is not named 'autoconf', then try setting the"
echo " AUTOCONF environment variable. (See the INSTALL file"
echo " for details.)"
exit 1
fi
echo "buildcheck: autoconf version $ac_version (ok)"
#--------------------------------------------------------------------------
# autoheader 2.50 or newer
#
ah_version=`${AUTOHEADER:-autoheader} --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//' -e 1q`
if test -z "$ah_version"; then
echo "buildcheck: autoheader not found."
echo " You need autoheader version 2.50 or newer installed."
exit 1
fi
IFS=.; set $ah_version; IFS=' '
if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
echo "buildcheck: autoheader version $ah_version found."
echo " You need autoheader version 2.50 or newer installed."
echo " If you have a sufficient autoheader installed, but it"
echo " is not named 'autoheader', then try setting the"
echo " AUTOHEADER environment variable. (See the INSTALL file"
echo " for details.)"
exit 1
fi
echo "buildcheck: autoheader version $ah_version (ok)"
#--------------------------------------------------------------------------
# libtool 1.4 or newer
#
LIBTOOL_WANTED_MAJOR=1
LIBTOOL_WANTED_MINOR=4
LIBTOOL_WANTED_PATCH=
LIBTOOL_WANTED_VERSION=1.4
# The minimum version for source releases is 1.4.3,
# because it's required by (at least) Solaris.
if test "$VERSION_CHECK" = "--release"; then
LIBTOOL_WANTED_PATCH=3
LIBTOOL_WANTED_VERSION=1.4.3
else
case `uname -sr` in
SunOS\ 5.*)
LIBTOOL_WANTED_PATCH=3
LIBTOOL_WANTED_VERSION=1.4.3
;;
esac
fi
libtool=`which glibtool 2>/dev/null`
if test ! -x "$libtool"; then
libtool=`which libtool`
fi
lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//' -e 1q`
if test -z "$lt_pversion"; then
echo "buildcheck: libtool not found."
echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
exit 1
fi
lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
IFS=.; set $lt_version; IFS=' '
lt_status="good"
if test "$1" = "$LIBTOOL_WANTED_MAJOR"; then
if test "$2" -gt "$LIBTOOL_WANTED_MINOR"; then
lt_status="good"
elif test "$2" -lt "$LIBTOOL_WANTED_MINOR"; then
lt_status="bad"
elif test ! -z "$LIBTOOL_WANTED_PATCH"; then
if test "$3" -lt "$LIBTOOL_WANTED_PATCH"; then
lt_status="bad"
fi
fi
fi
if test $lt_status != "good"; then
echo "buildcheck: libtool version $lt_pversion found."
echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
exit 1
fi
echo "buildcheck: libtool version $lt_pversion (ok)"
#--------------------------------------------------------------------------
# check for the correct version of Neon
#
NEON_WANTED_REGEX=0.24.?
NEON_LATEST_WORKING_VER=0.24.4
NEON_URL="http://www.webdav.org/neon/neon-${NEON_LATEST_WORKING_VER}.tar.gz"
NEON_TEST_REGEX="$NEON_WANTED_REGEX"
if test "$NEON_CHECK_CONTROL" = "--disable-neon-version-check"; then
NEON_TEST_REGEX=*
fi
if test -d ./neon; then
NEON_VERSION="`./build/get-neon-ver.sh neon`"
case "$NEON_VERSION" in
$NEON_TEST_REGEX)
;;
*)
echo "buildcheck: neon version $NEON_VERSION found in ./neon/."
echo " You need neon $NEON_LATEST_WORKING_VER."
exit 1
;;
esac
echo "buildcheck: neon version $NEON_VERSION (ok)"
fi
#--------------------------------------------------------------------------
# check that our local copies of files match up with those in APR(UTIL)
#
if test -d ./apr; then
if cmp -s ./build/ac-macros/find_apr.m4 ./apr/build/find_apr.m4; then
:
else
echo "buildcheck: local copy of find_apr.m4 does not match APR's copy."
echo " An updated copy of find_apr.m4 may need to be checked in."
fi
if cmp -s ./build/PrintPath ./apr/build/PrintPath; then
:
else
echo "buildcheck: local copy of PrintPath does not match APR's copy."
echo " An updated copy of PrintPath may need to be checked in."
fi
fi
if test -d ./apr-util; then
if cmp -s ./build/ac-macros/find_apu.m4 ./apr-util/build/find_apu.m4; then
:
else
echo "buildcheck: local copy of find_apu.m4 does not match APRUTIL's copy."
echo " An updated copy of find_apu.m4 may need to be checked in."
fi
fi
#--------------------------------------------------------------------------
exit 0