blob: 3e9710174bebc64a59e6584caf75eadf576deb61 [file] [log] [blame]
dnl
dnl Macros to find an Apache installation
dnl
dnl This will find either an installed Apache, or an Apache source directory.
dnl
dnl Note: If we don't have an installed Apache, then we can't install the
dnl (dynamic) mod_dav_svn.so module. Similarly, without an Apache
dnl source dir, we cannot create static builds of the system.
dnl
AC_DEFUN(SVN_FIND_APACHE,[
AC_MSG_CHECKING(for static Apache module support)
AC_ARG_WITH(apache,
[ --with-apache=DIR Build static Apache module. DIR is the path
to the top-level Apache source directory.],
[
if test "$withval" = "yes"; then
AC_MSG_ERROR(You need to specify a directory with --with-apache)
fi
if test -r $withval/modules/dav/main/mod_dav.h; then
APACHE_INCLUDES="$APACHE_INCLUDES -I$withval/include -I$withval/os/unix -I$withval/modules/dav/main -I$withval/srclib/apr/include -I$withval/srclib/apr-util/include"
APACHE_TARGET=$withval/modules/dav/svn
INSTALL_APACHE_RULE=install-mods-static
BINNAME=mod_dav_svn.a
AC_MSG_RESULT(yes - Apache 2.0.x)
if test ! -r $withval/srclib/apr/include/apr.h; then
AC_MSG_WARN(Apache 2.0.x is not configured)
fi
else
dnl if they pointed us at the wrong place, then just bail
AC_MSG_ERROR(no - Unable to locate $withval/src/modules/dav/main/mod_dav.h)
fi
],[
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(for Apache module support via DSO through APXS)
AC_ARG_WITH(apxs,
[[ --with-apxs[=FILE] Build shared Apache module. FILE is the optional
pathname to the Apache apxs tool; defaults to "apxs".]],
[
if test "$BINNAME" != ""; then
AC_MSG_ERROR(--with-apache and --with-apxs are mutually exclusive)
fi
if test "$withval" = "yes"; then
APXS=apxs
else
APXS="$withval"
fi
APXS_EXPLICIT=1
])
if test "$BINNAME" = "" -a "$APXS" = ""; then
for i in /usr/sbin /usr/local/apache/bin ; do
if test -f "$i/apxs"; then
APXS="$i/apxs"
fi
done
fi
if test -n "$APXS"; then
APXS_INCLUDE="`$APXS -q INCLUDEDIR`"
if test -r $APXS_INCLUDE/mod_dav.h; then
AC_MSG_RESULT(found at $APXS)
elif test "$APXS_EXPLICIT" != ""; then
AC_MSG_ERROR(no - APXS refers to an old version of Apache
Unable to locate $APXS_INCLUDE/mod_dav.h)
else
AC_MSG_RESULT(no - Unable to locate $APXS_INCLUDE/mod_dav.h)
APXS=""
fi
else
AC_MSG_RESULT(no)
fi
if test -n "$APXS"; then
BINNAME=mod_dav_svn.so
INSTALL_IT="\$(APXS) -i -a -n dav_svn $BINNAME"
APXS_CC="`$APXS -q CC`"
APACHE_INCLUDES="$APACHE_INCLUDES -I$APXS_INCLUDE"
INSTALL_APACHE_RULE=install-mods-shared
AC_SUBST(APXS)
AC_SUBST(BINNAME)
AC_SUBST(INSTALL_IT)
fi
# If we did not find a way to build/install mod_dav, then bail out.
if test "$BINNAME" = ""; then
echo "=================================================================="
echo "WARNING: skipping the build of mod_dav_svn"
echo " --with-apxs or --with-apache must be used"
echo "=================================================================="
else
BUILD_APACHE_RULE=apache-mod
fi
AC_SUBST(APACHE_TARGET)
AC_SUBST(APACHE_INCLUDES)
AC_SUBST(BUILD_APACHE_RULE)
AC_SUBST(INSTALL_APACHE_RULE)
# there aren't any flags that interest us ...
#if test -n "$APXS"; then
# CFLAGS="$CFLAGS `$APXS -q CFLAGS CFLAGS_SHLIB`"
#fi
if test -n "$APXS_CC" && test "$APXS_CC" != "$CC" ; then
echo "=================================================================="
echo "WARNING: You have chosen to compile Subversion with a different"
echo " compiler than the one used to compile Apache."
echo ""
echo " Current compiler: $CC"
echo " Apache's compiler: $APXS_CC"
echo ""
echo "This could cause some problems."
echo "=================================================================="
fi
])