blob: 13f6aa42864923fbf13fb57f37ced132cb9b7814 [file] [log] [blame]
dnl Process this file with autoconf to produce a configure script.
dnl Autoconfiscation for Subversion
dnl General Setup -----------------------
dnl Ensure that subversion is configured with autoconf 2.50 or newer
dnl Don't even think about removing this check!
AC_PREREQ(2.50)
dnl Get the version number of Subversion, using m4's esyscmd() command to run
dnl the command at m4-generation time. This allows us to create an m4
dnl symbol holding the correct version number. AC_INIT() requires the
dnl version number at m4-time, rather than when ./configure is run, so
dnl all this must happen as part of m4, not as part of the shell code
dnl contained in ./configure.
AC_INIT([subversion],
[esyscmd(python build/getversion.py subversion/include/svn_version.h)],
[http://subversion.tigris.org/])
AC_CONFIG_SRCDIR(subversion/include/svn_types.h)
AC_CONFIG_AUX_DIR(ac-helpers)
AC_MSG_NOTICE([Configuring Subversion ]AC_PACKAGE_VERSION)
abs_srcdir="`cd $srcdir && pwd`"
abs_builddir="`pwd`"
dnl ### should we ever bother with the system install?
dnl use abs_srcdir. sometimes during installation, libtool will relink the
dnl library. when it does this, it does a "cd", so a relative use of
dnl install-sh will not work.
INSTALL="$abs_srcdir/ac-helpers/install-sh -c"
AC_SUBST(INSTALL)
MKDIR="$INSTALL -d"
AC_SUBST(MKDIR)
dnl Generate config.nice early (before the args are munged)
SVN_CONFIG_NICE(config.nice)
dnl Check for programs ---------------------
dnl Look for a C compiler (before anything can set CFLAGS)
AC_PROG_CC
dnl Look for a C pre-processor
AC_PROG_CPP
dnl Look for an extended grep, this macro appeared in autoconf-2.53b
ifdef([AC_PROG_EGREP],[AC_PROG_EGREP],[])
dnl See if 'ln -s' works
AC_PROG_LN_S
dnl Sub-package configuration ---------------------
dnl Possibly reconfigure packages in subdirectories
AC_ARG_ENABLE(subdir-config,
AC_HELP_STRING([--disable-subdir-config],
[do not reconfigure packages in subdirectories]),
[
if test "$enableval" = "yes" ; then
do_subdir_config="yes"
fi
],
[
do_subdir_config=yes
])
dnl the extra bits to include into our build process
SVN_EXTRA_INCLUDES='-I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion'
SVN_EXTRA_LIBS=
SVN_SUBDIRS=
AC_SUBST(SVN_EXTRA_INCLUDES)
AC_SUBST(SVN_EXTRA_LIBS)
AC_SUBST(SVN_SUBDIRS)
dnl Configure APR --------------------------
dnl verify apr version and set apr flags
dnl These regular expressions should not contain "\(" and "\)".
APR_VER_REGEX=["0\.9\.[5-9]"]
APR_VER_REGEX_TOO="1\."
APU_VER_REGEX=["0\.9\.[5-9]"]
APU_VER_REGEX_TOO="1\."
SVN_LIB_APR($APR_VER_REGEX, $APR_VER_REGEX_TOO)
SVN_LIB_APRUTIL($APU_VER_REGEX, $APU_VER_REGEX_TOO)
dnl What version of Expat are we using? -----------------
APU_HAVE_OLD_EXPAT="`$apu_config --old-expat`"
if test "$APU_HAVE_OLD_EXPAT" = "yes"; then
AC_DEFINE(SVN_HAVE_OLD_EXPAT, 1, [Defined if Expat 1.0 or 1.1 was found])
fi
dnl Set up a number of directories ---------------------
dnl Create SVN_BINDIR for proper substitution
if test "${bindir}" = '${exec_prefix}/bin'; then
if test "${exec_prefix}" = "NONE"; then
if test "${prefix}" = "NONE"; then
SVN_BINDIR="${ac_default_prefix}/bin"
else
SVN_BINDIR="${prefix}/bin"
fi
else
SVN_BINDIR="${exec_prefix}/bin"
fi
else
SVN_BINDIR="${bindir}"
fi
dnl fully evaluate this value. when we substitute it into our tool scripts,
dnl they will not have things such as ${bindir} available
SVN_BINDIR="`eval echo ${SVN_BINDIR}`"
AC_SUBST(SVN_BINDIR)
dnl provide ${bindir} in svn_private_config.h for use in compiled code
AC_DEFINE_UNQUOTED(SVN_BINDIR, "${SVN_BINDIR}",
[Defined to be the path to the installed binaries])
dnl This purposely does *not* allow for multiple parallel installs.
dnl However, it is compatible with most gettext usages.
localedir='${datadir}/locale'
AC_SUBST(localedir)
dnl For SVN_LOCALE_DIR, we have to expand it to something. See SVN_BINDIR.
if test "${datadir}" = '${prefix}/share' -a "${prefix}" = "NONE"; then
exp_localedir='${ac_default_prefix}/share/locale'
else
exp_localedir=$localedir
fi
SVN_EXPAND_VAR(svn_localedir, "${exp_localedir}")
AC_DEFINE_UNQUOTED(SVN_LOCALE_DIR, "${svn_localedir}",
[Defined to be the path to the installed locale dirs])
dnl Pass EXEEXT on to the Makefiles
AC_SUBST(EXEEXT)
dnl Check for libtool -- we'll definitely need it for all our shared libs!
echo "configuring libtool now"
AC_ARG_ENABLE(experimental-libtool,
AC_HELP_STRING([--enable-experimental-libtool],[Use APR's libtool]),
[experimental_libtool=$enableval],[experimental_libtool=no])
if test "$experimental_libtool" = "yes"; then
echo "using APR's libtool"
sh_libtool="`$apr_config --apr-libtool`"
LIBTOOL="$sh_libtool"
SVN_LIBTOOL="$sh_libtool"
else
sh_libtool="$abs_builddir/libtool"
SVN_LIBTOOL="\$(SHELL) $sh_libtool"
dnl libtoolize requires that the following line not be indented
AC_PROG_LIBTOOL
fi
AC_SUBST(SVN_LIBTOOL)
dnl Determine if the libtool version supports --tag or not
SVN_LT_CCTAG=
SVN_LT_CXXTAG=
AC_MSG_CHECKING([whether libtool accepts --tag=XXX])
cat > conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if $sh_libtool --tag=CC --mode=compile \
$CC -c $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext >&5
then
AC_MSG_RESULT([yes])
SVN_LT_CCTAG="--tag=CC"
SVN_LT_CXXTAG="--tag=CXX"
else
AC_MSG_RESULT([no])
fi
rm -rf $lt_cv_objdir
rm -f conftest.$ac_ext
AC_SUBST(SVN_LT_CCTAG)
AC_SUBST(SVN_LT_CXXTAG)
dnl Before configuring libtool check for --enable-all-static option
AC_ARG_ENABLE(all-static,
AC_HELP_STRING([--enable-all-static],
[Build completely static (standalone) binaries.]),
[
if test "$enableval" = "yes" ; then
LT_LDFLAGS="-all-static $LT_LDFLAGS"
fi
])
AC_SUBST(LT_LDFLAGS)
dnl Check if -no-undefined is needed for the platform.
dnl It should always work but with libtool 1.4.3 on OS X it breaks the build.
dnl So we only turn it on for platforms where we know we really need it.
AC_MSG_CHECKING([whether libtool needs -no-undefined])
case $host in
*-*-cygwin*)
AC_MSG_RESULT([yes])
LT_NO_UNDEFINED="-no-undefined"
;;
*)
AC_MSG_RESULT([no])
LT_NO_UNDEFINED=""
;;
esac
AC_SUBST(LT_NO_UNDEFINED)
NEON_WANTED_REGEX=0.24.7
NEON_LATEST_WORKING_VER=0.24.7
NEON_URL="http://www.webdav.org/neon/neon-${NEON_LATEST_WORKING_VER}.tar.gz"
dnl You can skip the neon version check only if you know what you are doing
AC_ARG_ENABLE(neon-version-check,
AC_HELP_STRING([--disable-neon-version-check],
[do not check the Neon version]),
[
if test "$enableval" = "no" ; then
NEON_WANTED_REGEX="*"
fi
],
[])
SVN_LIB_NEON($NEON_WANTED_REGEX, $NEON_LATEST_WORKING_VER, $NEON_URL)
dnl find Apache with a recent-enough magic module number.
SVN_FIND_APACHE(20020903)
dnl Check for libraries --------------------
# Berkeley DB on SCO OpenServer needs -lsocket
AC_CHECK_LIB(socket, socket)
# Build the BDB filesystem library only if we have an appropriate
# version of Berkeley DB.
case "$host" in
powerpc-apple-darwin*)
# Berkeley DB 4.0 does not work on OS X.
SVN_FS_WANT_DB_MAJOR=4
SVN_FS_WANT_DB_MINOR=1
SVN_FS_WANT_DB_PATCH=25
;;
*)
SVN_FS_WANT_DB_MAJOR=4
SVN_FS_WANT_DB_MINOR=0
SVN_FS_WANT_DB_PATCH=14
;;
esac
# Look for libdb4.so first:
SVN_LIB_BERKELEY_DB($SVN_FS_WANT_DB_MAJOR, $SVN_FS_WANT_DB_MINOR,
$SVN_FS_WANT_DB_PATCH, [db4 db])
dnl I18n -------------------
AC_ARG_ENABLE(nls,
AC_HELP_STRING([--disable-nls],[Disable gettext functionality]),
[enable_nls=$enableval],[enable_nls=yes])
USE_NLS="no"
if test "$enable_nls" = "yes"; then
dnl First, check to see if there is a working msgfmt.
AC_PATH_PROG(MSGFMT, msgfmt, none)
AC_PATH_PROG(MSGMERGE, msgmerge, none)
AC_PATH_PROG(XGETTEXT, xgettext, none)
if test "$MSGFMT" != "none"; then
AC_SEARCH_LIBS(bindtextdomain, [intl], [],
[
AC_MSG_WARN([bindtextdomain() not found. Disabling NLS.])
enable_nls="no"
])
if test "$enable_nls" = "yes"; then
AC_DEFINE(ENABLE_NLS, 1,
[Define to 1 if translation of program messages to the user's
native language is requested.])
USE_NLS="yes"
fi
fi
fi
AH_BOTTOM(
#define N_(x) x
#ifdef ENABLE_NLS
#include <locale.h>
#include <libintl.h>
#define _(x) dgettext(PACKAGE_NAME, x)
#else
#define _(x) (x)
#define gettext(x) (x)
#define dgettext(domain,x) (x)
#endif
)
dnl Used to simulate makefile conditionals.
GETTEXT_CODESET=\#
NO_GETTEXT_CODESET=\#
if test $USE_NLS = "yes"; then
AC_CHECK_FUNCS(bind_textdomain_codeset,
[ GETTEXT_CODESET="" ],
[ NO_GETTEXT_CODESET="" ])
fi
AC_SUBST(GETTEXT_CODESET)
AC_SUBST(NO_GETTEXT_CODESET)
# Check if we are using GNU gettext.
GNU_GETTEXT=no
MSGFMTFLAGS=''
if test $USE_NLS = "yes"; then
AC_MSG_CHECKING(if we are using GNU gettext)
if $MSGFMT --version 2>&1 | $EGREP GNU > /dev/null; then
GNU_GETTEXT=yes
MSGFMTFLAGS='-c'
fi
AC_MSG_RESULT($GNU_GETTEXT)
fi
AC_SUBST(MSGFMTFLAGS)
INSTALL_STATIC_RULES="install-bin install-docs"
INSTALL_RULES="install-fsmod-lib install-ramod-lib install-lib install-include install-static"
INSTALL_RULES="$INSTALL_RULES $INSTALL_APACHE_RULE"
BUILD_RULES="fsmod-lib ramod-lib lib bin test $BUILD_APACHE_RULE"
if test "$svn_lib_berkeley_db" = "yes"; then
BUILD_RULES="$BUILD_RULES bdb-lib bdb-test"
INSTALL_RULES="`echo $INSTALL_RULES | sed 's/install-fsmod-lib/install-fsmod-lib install-bdb-lib/'`"
INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-bdb-lib"
BDB_TEST_DEPS="\$(BDB_TEST_DEPS)"
BDB_TEST_PROGRAMS="\$(BDB_TEST_PROGRAMS)"
DEFAULT_FS_TYPE="bdb"
else
DEFAULT_FS_TYPE="fsfs"
fi
if test "$svn_lib_neon" = "yes"; then
BUILD_RULES="$BUILD_RULES dav-lib"
INSTALL_RULES="`echo $INSTALL_RULES | sed 's/install-ramod-lib/install-ramod-lib install-dav-lib/'`"
INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-dav-lib"
fi
if test "$USE_NLS" = "yes"; then
BUILD_RULES="$BUILD_RULES locale"
INSTALL_RULES="$INSTALL_RULES install-locale"
fi
AC_SUBST(BUILD_RULES)
AC_SUBST(INSTALL_STATIC_RULES)
AC_SUBST(INSTALL_RULES)
AC_SUBST(BDB_TEST_DEPS)
AC_SUBST(BDB_TEST_PROGRAMS)
AC_DEFINE_UNQUOTED(SVN_FS_WANT_DB_MAJOR, $SVN_FS_WANT_DB_MAJOR,
[The desired major version for the Berkeley DB])
AC_DEFINE_UNQUOTED(SVN_FS_WANT_DB_MINOR, $SVN_FS_WANT_DB_MINOR,
[The desired minor version for the Berkeley DB])
AC_DEFINE_UNQUOTED(SVN_FS_WANT_DB_PATCH, $SVN_FS_WANT_DB_PATCH,
[The desired patch version for the Berkeley DB])
AC_DEFINE_UNQUOTED(DEFAULT_FS_TYPE, "$DEFAULT_FS_TYPE",
[The fs type to use by default])
dnl Check for header files ----------------
dnl Standard C headers
AC_HEADER_STDC
dnl Check for typedefs, structures, and compiler characteristics ----------
dnl if compiler doesn't understand `const', then define it empty
AC_C_CONST
dnl if non-existent, define size_t to be `unsigned'
AC_TYPE_SIZE_T
dnl Check for library functions ----------
dnl libsvn_string uses memcmp()
AC_FUNC_MEMCMP
dnl svn_error's default warning handler uses vfprintf()
AC_FUNC_VPRINTF
dnl check for functions needed in special file handling
AC_CHECK_FUNCS(symlink readlink)
dnl Process some configuration options ----------
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],
[Turn on debugging and compile time warnings]),
[
if test "$enableval" = "yes" ; then
enable_debugging="yes"
else
enable_debugging="no"
fi
])
AC_ARG_WITH(editor,
AC_HELP_STRING([--with-editor=PATH],
[Specify a default editor for the subversion client.]),
[
if test "$withval" = "yes" ; then
AC_MSG_ERROR([--with-editor requires an argument.])
else
SVN_CLIENT_EDITOR=$withval
AC_DEFINE_UNQUOTED(SVN_CLIENT_EDITOR, "$SVN_CLIENT_EDITOR",
[The path of a default editor for the client.])
fi
])
AC_ARG_WITH(zlib,
AC_HELP_STRING([--with-zlib], [enable zlib support]),
[
if test "$withval" = "yes" ; then
AC_CHECK_HEADER(zlib.h, [
AC_CHECK_LIB(z, inflate, [
AC_DEFINE([SVN_HAVE_ZLIB], [1], [Is zlib support enabled?])
LIBS="$LIBS -lz"
])
])
fi
])
MOD_ACTIVATION="-a"
AC_ARG_ENABLE(mod-activation,
AC_HELP_STRING([--disable-mod-activation],
[Do not enable mod_dav_svn in httpd.conf]),
[
if test "$enableval" = "no" ; then
MOD_ACTIVATION=""
AC_MSG_NOTICE([Disabling apache module activation])
else
AC_MSG_NOTICE([Enabling apache module activation])
fi
])
AC_SUBST(MOD_ACTIVATION)
AC_ARG_ENABLE(maintainer-mode,
AC_HELP_STRING([--enable-maintainer-mode],
[Turn on debugging and very strict compile-time warnings]),
[
if test "$enableval" = "yes" ; then
if test "$enable_debugging" = "no" ; then
AC_MSG_ERROR(Can't have --disable-debug and --enable-maintainer-mode)
fi
enable_debugging=yes
dnl SVN_DEBUG enables specific features for developer builds
dnl AP_DEBUG enables specific (Apache) features for developer builds
CFLAGS="$CFLAGS -DSVN_DEBUG -DAP_DEBUG"
if test "$GCC" = "yes"; then
CFLAGS="$CFLAGS -Wpointer-arith -Wwrite-strings -Wshadow"
fi
fi
])
AC_ARG_ENABLE(gprof,
AC_HELP_STRING([--enable-gprof],
[Produce gprof profiling data in 'gmon.out' (GCC only).]),
[
if test "$enableval" = "yes" ; then
dnl Probably other compilers support -pg or something similar;
dnl feel free to extend this to include them.
if test "$GCC" = "yes"; then
if test "$enable_shared" = "yes" ; then
AC_MSG_ERROR(Can't have --enable-gprof without --disable-shared (we
recommend also using --enable-all-static).)
fi
if test ! "$enable_all_static" = "yes" ; then
AC_MSG_WARN(We recommend --enable-all-static with --enable-gprof.)
fi
AC_MSG_NOTICE([Enabling gprof profiling data (to gmon.out).])
CFLAGS="$CFLAGS -pg"
LT_LDFLAGS="$LT_LDFLAGS -pg"
else
AC_MSG_ERROR(We only support --enable-gprof with GCC right now.)
fi
fi
])
if test "$enable_debugging" = "yes" ; then
dnl At the moment, we don't want optimization, because we're
dnl debugging.
dnl ### actually, debugging should be fine with the default -O2
CFLAGS=["`echo $CFLAGS' ' | sed -e 's/-O[^ ]* //g'`"]
else
if test "$enable_debugging" = "no" ; then
CFLAGS=["`echo $CFLAGS' ' | sed -e 's/-g[0-9] //g' | sed -e 's/-g//g'`"]
fi
fi
dnl Since this is used only on Unix-y systems, define the path separator as '/'
AC_DEFINE_UNQUOTED(SVN_PATH_LOCAL_SEPARATOR, '/',
[Defined to be the path separator used on your local filesystem])
AC_DEFINE_UNQUOTED(SVN_NULL_DEVICE_NAME, "/dev/null",
[Defined to be the null device for the system])
# Scripting and Bindings languages
# Python: Used for testsuite, and bindings
# For compatibility with Subversion 1.1.3 and earlier,
# which recommended setting PYTHON2, not PYTHON.
if test "${PYTHON2+set}" = set -a "${PYTHON+set}" != set; then
PYTHON="$PYTHON2"
fi
AC_PATH_PROGS(PYTHON, python2 python, none)
if test "$PYTHON" != "none"; then
AC_MSG_CHECKING([that the Python found is at least version 2.0])
if "$PYTHON" -c 'import sys;sys.exit((sys.hexversion < 0x2000000) and 1 or 0)'; then
AC_MSG_RESULT([yes])
else
PYTHON="none"
AC_MSG_RESULT([no])
AC_MSG_WARN([The detected Python is too old for Subversion to use])
AC_MSG_WARN([At least Python 2.0 is required to run the testsuite])
AC_MSG_WARN([or to use the Subversion Python bindings])
AC_MSG_WARN([])
AC_MSG_WARN([If you have a suitable Python installed, but not on the])
AC_MSG_WARN([PATH, set the environment variable PYTHON to the full path])
AC_MSG_WARN([to the Python executable, and re-run configure])
fi
fi
# SVN_CHECK_JDK sets $JAVA_CLASSPATH
SVN_CHECK_JDK
AC_PATH_PROG(PERL, perl, none)
AC_PATH_PROG(RUBY, ruby, none)
if test "$RUBY" != "none"; then
if "$RUBY" -r mkmf -e 'exit(have_func("rb_hash_foreach") ? 0 : 1)'; then
:
else
RUBY="none"
AC_MSG_WARN([The detected Ruby is too old for Subversion to use])
AC_MSG_WARN([A Ruby which has rb_hash_foreach is required to use the])
AC_MSG_WARN([Subversion Ruby bindings])
AC_MSG_WARN([Upgrade to the official 1.8.2 release, or later])
fi
fi
SVN_CHECK_SWIG
dnl try to find the "makeinfo" program
AC_PATH_PROG(MAKEINFO, makeinfo, [echo cannot run makeinfo])
if test "$MAKEINFO" = "echo cannot run makeinfo"; then
dnl we won't install/make any info pages then
INSTALL_INFO=""
else
INSTALL_INFO='install-info'
fi
AC_SUBST(INSTALL_INFO)
dnl decide whether we want to link against the RA libraries
AC_ARG_ENABLE(dso,
AC_HELP_STRING([--enable-dso], [Turn on DSO loading of RA libraries]),
[
if test "$enableval" = "yes"; then
enable_dso=yes
if test "$enable_shared" = "no"; then
AC_MSG_ERROR([--enable-dso conflicts with --disable-shared])
fi
fi
])
if test "$enable_shared" = "no" -o "$enable_dso" != "yes"; then
### We want ra_local first to handle the following scenario:
### user has neon and db3 in /usr/local, and db4 in
### /usr/local/BerkeleyDB.4.0. If libsvn_ra_dav.la comes before
### libsvn_fs.la then libtool ends up linking libsvn_fs to the db3
### in /usr/local/lib
AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL, 1,
[Defined if libsvn_client should link against libsvn_ra_local])
svn_ra_lib_deps="\$(RA_LOCAL_DEPS)"
svn_ra_lib_install_deps="install-ramod-lib"
svn_ra_lib_link="\$(RA_LOCAL_LINK)"
AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_SVN, 1,
[Defined if libsvn_client should link against libsvn_ra_svn])
svn_ra_lib_deps="$svn_ra_lib_deps \$(RA_SVN_DEPS)"
svn_ra_lib_link="$svn_ra_lib_link \$(RA_SVN_LINK)"
if test "$svn_lib_neon" = "yes"; then
AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_DAV, 1,
[Defined if libsvn_client should link against libsvn_ra_dav])
svn_ra_lib_deps="$svn_ra_lib_deps \$(RA_DAV_DEPS)"
svn_ra_lib_install_deps="$svn_ra_lib_install_deps install-dav-lib"
svn_ra_lib_link="$svn_ra_lib_link \$(RA_DAV_LINK)"
fi
SVN_RA_LIB_DEPS=$svn_ra_lib_deps
SVN_RA_LIB_INSTALL_DEPS=$svn_ra_lib_install_deps
SVN_RA_LIB_LINK=$svn_ra_lib_link
AC_DEFINE(SVN_LIBSVN_FS_LINKS_FS_FS, 1,
[Defined if libsvn_fs should link against libsvn_fs_fs])
svn_fs_lib_deps="\$(FS_FS_DEPS)"
svn_fs_lib_install_deps="install-fsmod-lib"
svn_fs_lib_link="\$(FS_FS_LINK)"
if test "$svn_lib_berkeley_db" = "yes"; then
AC_DEFINE(SVN_LIBSVN_FS_LINKS_FS_BASE, 1,
[Defined if libsvn_fs should link against libsvn_fs_base])
svn_fs_lib_deps="$svn_fs_lib_deps \$(FS_BASE_DEPS)"
svn_fs_lib_install_deps="$svn_fs_lib_install_deps install-bdb-lib"
svn_fs_lib_link="$svn_fs_lib_link \$(FS_BASE_LINK)"
fi
SVN_FS_LIB_DEPS=$svn_fs_lib_deps
SVN_FS_LIB_INSTALL_DEPS=$svn_fs_lib_install_deps
SVN_FS_LIB_LINK=$svn_fs_lib_link
fi
AC_SUBST(SVN_RA_LIB_DEPS)
AC_SUBST(SVN_RA_LIB_INSTALL_DEPS)
AC_SUBST(SVN_RA_LIB_LINK)
AC_SUBST(SVN_FS_LIB_DEPS)
AC_SUBST(SVN_FS_LIB_INSTALL_DEPS)
AC_SUBST(SVN_FS_LIB_LINK)
dnl Possibly compile JavaHL (experimental)
do_javahl_build=no
AC_ARG_ENABLE(javahl,
AC_HELP_STRING([--enable-javahl],
[Enable compilation of Java high-level bindings (requires C++)]),
[ if test "$enableval" = "yes" ; then
do_javahl_build="yes"
fi
])
INSTALL_EXTRA_JAVAHL_LIB=""
JAVAHL_TESTS_TARGET=""
LT_CXX_LIBADD=""
if test "$do_javahl_build" = "yes"; then
AC_PROG_CXX
os_arch=`uname`
if test "$os_arch" = "Darwin"; then
dnl On Darwin, JNI libs must be installed as .jnilib
INSTALL_EXTRA_JAVAHL_LIB='ln -sf $(libdir)/libsvnjavahl-1.dylib $(libdir)/libsvnjavahl-1.jnilib'
fi
# This segment (and the rest of r10800) is very likely unnecessary
# with libtool 1.5, which automatically adds libstdc++ as a
# dependency to the C++ libraries it builds. So at some future time
# when autogen.sh requires libtool 1.5 or higher, we can get rid of
# it.
AC_MSG_CHECKING([for additional flags to link C++ libraries])
if test "x$ac_compiler_gnu" = "xyes"; then
LT_CXX_LIBADD="-lstdc++"
AC_MSG_RESULT([$LT_CXX_LIBADD])
else
AC_MSG_RESULT([none needed])
fi
fi
AC_SUBST(INSTALL_EXTRA_JAVAHL_LIB)
AC_SUBST(LT_CXX_LIBADD)
AC_ARG_WITH(junit,
AC_HELP_STRING([--with-junit=PATH],
[Specify a path to the junit JAR file.]),
[
if test "$withval" = "yes" ; then
AC_MSG_ERROR([--with-junit requires an argument.])
else
if test -n "$JAVA_CLASSPATH"; then
JAVA_CLASSPATH="$withval:$JAVA_CLASSPATH"
else
JAVA_CLASSPATH="$withval"
fi
JAVAHL_TESTS_TARGET="javahl-tests"
fi
])
AC_SUBST(JAVA_CLASSPATH)
AC_SUBST(JAVAHL_TESTS_TARGET)
dnl Pass some config data ----------------------------
AC_SUBST(abs_builddir)
AC_SUBST(abs_srcdir)
dnl
dnl BSD/OS (BSDi) needs to use a different include syntax in the Makefiles
dnl
case "$host" in
*bsdi*)
# Check whether they've installed GNU make
if make --version > /dev/null 2>&1; then
INCLUDE_OUTPUTS="include \$(top_srcdir)/build-outputs.mk"
else
# BSDi make
INCLUDE_OUTPUTS=".include \"\$(top_srcdir)/build-outputs.mk\""
fi
;;
*)
INCLUDE_OUTPUTS="include \$(top_srcdir)/build-outputs.mk"
;;
esac
AC_SUBST(INCLUDE_OUTPUTS)
dnl Final step: create the Makefile ----------------------------
AC_CONFIG_HEADER(subversion/svn_private_config.h)
AC_CONFIG_FILES([Makefile])
AC_CONFIG_COMMANDS(mkdir-init, [make mkdir-init])
SVN_CONFIG_SCRIPT(svn-config)
SVN_CONFIG_SCRIPT(tools/backup/hot-backup.py)
SVN_CONFIG_SCRIPT(contrib/client-side/svn_load_dirs.pl)
SVN_CONFIG_SCRIPT(contrib/client-side/svncopy.pl)
SVN_CONFIG_SCRIPT(contrib/client-side/testsvncopy.pl)
SVN_CONFIG_SCRIPT(tools/hook-scripts/commit-access-control.pl)
SVN_CONFIG_SCRIPT(tools/hook-scripts/commit-email.pl)
SVN_CONFIG_SCRIPT(tools/hook-scripts/propchange-email.pl)
SVN_CONFIG_SCRIPT(subversion/bindings/swig/perl/native/Makefile.PL)
AC_OUTPUT
dnl Print warning messages about what we did and didn't configure at the
dnl end, where people will actually see them.
case "$svn_lib_berkeley_db" in
"no" )
db_version="$SVN_FS_WANT_DB_MAJOR.$SVN_FS_WANT_DB_MINOR.$SVN_FS_WANT_DB_PATCH"
AC_MSG_WARN([we have configured without BDB filesystem support
You don't seem to have Berkeley DB version $db_version or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:
http://www.sleepycat.com/download/index.shtml
])
;;
esac