78c30b9192
Re-enable ruby-subversion, as it supports ruby 1.9
1524 lines
53 KiB
Text
1524 lines
53 KiB
Text
--- configure.orig.ac 1970-01-01 03:00:00.000000000 +0300
|
|
+++ configure.ac 2013-06-19 19:55:21.000000000 +0400
|
|
@@ -0,0 +1,1521 @@
|
|
+dnl Licensed to the Apache Software Foundation (ASF) under one
|
|
+dnl or more contributor license agreements. See the NOTICE file
|
|
+dnl distributed with this work for additional information
|
|
+dnl regarding copyright ownership. The ASF licenses this file
|
|
+dnl to you under the Apache License, Version 2.0 (the
|
|
+dnl "License"); you may not use this file except in compliance
|
|
+dnl with the License. You may obtain a copy of the License at
|
|
+dnl
|
|
+dnl http://www.apache.org/licenses/LICENSE-2.0
|
|
+dnl
|
|
+dnl Unless required by applicable law or agreed to in writing,
|
|
+dnl software distributed under the License is distributed on an
|
|
+dnl "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
+dnl KIND, either express or implied. See the License for the
|
|
+dnl specific language governing permissions and limitations
|
|
+dnl under the License.
|
|
+
|
|
+dnl configure.ac: Autoconfiscation for Subversion
|
|
+dnl Process this file with autoconf to produce a configure script.
|
|
+
|
|
+AC_PREREQ(2.59)
|
|
+
|
|
+dnl Get the version of Subversion, using m4's esyscmd() command to do this
|
|
+dnl at m4-time, since AC_INIT() requires it then.
|
|
+AC_INIT([subversion],
|
|
+ [esyscmd(python build/getversion.py SVN subversion/include/svn_version.h)],
|
|
+ [http://subversion.apache.org/])
|
|
+
|
|
+AC_CONFIG_SRCDIR(subversion/include/svn_types.h)
|
|
+AC_CONFIG_AUX_DIR([build])
|
|
+
|
|
+AC_MSG_NOTICE([Configuring Subversion ]AC_PACKAGE_VERSION)
|
|
+
|
|
+AC_SUBST([abs_srcdir], ["`cd $srcdir && pwd`"])
|
|
+AC_SUBST([abs_builddir], ["`pwd`"])
|
|
+if test "$abs_srcdir" = "$abs_builddir"; then
|
|
+ canonicalized_srcdir=""
|
|
+else
|
|
+ canonicalized_srcdir="$srcdir/"
|
|
+fi
|
|
+AC_SUBST([canonicalized_srcdir])
|
|
+
|
|
+SWIG_LDFLAGS="$LDFLAGS"
|
|
+AC_SUBST([SWIG_LDFLAGS])
|
|
+
|
|
+# Generate config.nice early (before the arguments are munged)
|
|
+SVN_CONFIG_NICE(config.nice)
|
|
+
|
|
+# ==== Check for programs ====================================================
|
|
+
|
|
+# Look for a C compiler (before anything can set CFLAGS)
|
|
+CMAINTAINERFLAGS="$CUSERFLAGS"
|
|
+CUSERFLAGS="$CFLAGS"
|
|
+AC_PROG_CC
|
|
+SVN_CC_MODE_SETUP
|
|
+
|
|
+# Look for a C++ compiler (before anything can set CXXFLAGS)
|
|
+CXXMAINTAINERFLAGS="$CXXUSERFLAGS"
|
|
+CXXUSERFLAGS="$CXXFLAGS"
|
|
+AC_PROG_CXX
|
|
+SVN_CXX_MODE_SETUP
|
|
+
|
|
+# Look for a C pre-processor
|
|
+AC_PROG_CPP
|
|
+
|
|
+# Look for a good sed
|
|
+# AC_PROG_SED was introduced in Autoconf 2.59b
|
|
+m4_ifdef([AC_PROG_SED], [AC_PROG_SED], [SED="${SED:-sed}"])
|
|
+
|
|
+# Grab target_cpu, so we can use it in the Solaris pkginfo file
|
|
+AC_CANONICAL_TARGET
|
|
+
|
|
+# Look for an extended grep
|
|
+AC_PROG_EGREP
|
|
+
|
|
+AC_PROG_LN_S
|
|
+
|
|
+AC_PROG_INSTALL
|
|
+# If $INSTALL is relative path to our fallback install-sh, then convert
|
|
+# to an absolute path, as in some cases (e.g. Solaris VPATH build), libtool
|
|
+# may try to use it from a changed working directory.
|
|
+if test "$INSTALL" = "build/install-sh -c"; then
|
|
+ INSTALL="$abs_srcdir/$INSTALL"
|
|
+fi
|
|
+
|
|
+if test -z "$MKDIR"; then
|
|
+ MKDIR="$INSTALL -d"
|
|
+fi
|
|
+AC_SUBST([MKDIR])
|
|
+
|
|
+# ==== Libraries, for which we may have source to build ======================
|
|
+
|
|
+dnl verify apr version and set apr flags
|
|
+dnl These regular expressions should not contain "\(" and "\)".
|
|
+dnl The specific reason we require APR 0.9.7 is:
|
|
+dnl It contains fixes to its file writing routines
|
|
+dnl now generating errors instead of silently ignoring
|
|
+dnl them. Only .7 and later can guarantee repository
|
|
+dnl integrity with FSFS.
|
|
+
|
|
+APR_VER_REGEXES=["0\.9\.[7-9] 0\.9\.[12][0-9] 1\. 2\."]
|
|
+
|
|
+SVN_LIB_APR($APR_VER_REGEXES)
|
|
+
|
|
+if test `expr $apr_version : 2` -ne 0; then
|
|
+ dnl Bump the library so-version to 2 if using APR-2
|
|
+ dnl (Debian uses so-version 1 for APR-1-with-largefile)
|
|
+ svn_lib_ver=2
|
|
+ dnl APR-2 provides APRUTIL
|
|
+ apu_config=$apr_config
|
|
+ AC_SUBST(SVN_APRUTIL_INCLUDES)
|
|
+ AC_SUBST(SVN_APRUTIL_CONFIG, ["$apu_config"])
|
|
+ AC_SUBST(SVN_APRUTIL_LIBS)
|
|
+else
|
|
+ svn_lib_ver=0
|
|
+ APU_VER_REGEXES=["0\.9\.[7-9] 0\.9\.1[0-9] 1\."]
|
|
+ SVN_LIB_APRUTIL($APU_VER_REGEXES)
|
|
+fi
|
|
+SVN_LT_SOVERSION="-version-info $svn_lib_ver"
|
|
+AC_SUBST(SVN_LT_SOVERSION)
|
|
+AC_DEFINE_UNQUOTED(SVN_SOVERSION, $svn_lib_ver,
|
|
+ [Subversion library major verson])
|
|
+
|
|
+dnl Search for pkg-config
|
|
+AC_PATH_PROG(PKG_CONFIG, pkg-config)
|
|
+
|
|
+dnl Search for serf
|
|
+SVN_LIB_SERF(1,2,1)
|
|
+
|
|
+if test "$svn_lib_serf" = "yes"; then
|
|
+ AC_DEFINE([SVN_HAVE_SERF], 1,
|
|
+ [Defined if support for Serf is enabled])
|
|
+fi
|
|
+
|
|
+dnl Search for apr_memcache (only affects fs_fs)
|
|
+SVN_LIB_APR_MEMCACHE
|
|
+
|
|
+if test "$svn_lib_apr_memcache" = "yes"; then
|
|
+ AC_DEFINE(SVN_HAVE_MEMCACHE, 1,
|
|
+ [Defined if apr_memcache (standalone or in apr-util) is present])
|
|
+fi
|
|
+
|
|
+
|
|
+dnl Find Apache with a recent-enough magic module number
|
|
+SVN_FIND_APACHE(20020903)
|
|
+
|
|
+dnl Search for SQLite. If you change SQLITE_URL from a .zip to
|
|
+dnl something else also update build/ac-macros/sqlite.m4 to reflect
|
|
+dnl the correct command to unpack the downloaded file.
|
|
+SQLITE_MINIMUM_VER="3.7.12"
|
|
+SQLITE_RECOMMENDED_VER="3.7.15.1"
|
|
+SQLITE_URL="http://www.sqlite.org/sqlite-amalgamation-$(printf %d%02d%02d%02d $(echo ${SQLITE_RECOMMENDED_VER} | sed -e 's/\./ /g')).zip"
|
|
+
|
|
+SVN_LIB_SQLITE(${SQLITE_MINIMUM_VER}, ${SQLITE_RECOMMENDED_VER},
|
|
+ ${SQLITE_URL})
|
|
+
|
|
+AC_ARG_ENABLE(sqlite-compatibility-version,
|
|
+ AS_HELP_STRING([--enable-sqlite-compatibility-version=X.Y.Z],
|
|
+ [Allow binary to run against SQLite as old as ARG]),
|
|
+ [sqlite_compat_ver=$enableval],[sqlite_compat_ver=no])
|
|
+
|
|
+if test -n "$sqlite_compat_ver" && test "$sqlite_compat_ver" != no; then
|
|
+ SVN_SQLITE_VERNUM_PARSE([$sqlite_compat_ver],
|
|
+ [sqlite_compat_ver_num])
|
|
+ CFLAGS="-DSVN_SQLITE_MIN_VERSION='\"$sqlite_compat_ver\"' $CFLAGS"
|
|
+ CFLAGS="-DSVN_SQLITE_MIN_VERSION_NUMBER=$sqlite_compat_ver_num $CFLAGS"
|
|
+fi
|
|
+
|
|
+SVN_CHECK_FOR_ATOMIC_BUILTINS
|
|
+
|
|
+if test "$svn_cv_atomic_builtins" = "yes"; then
|
|
+ AC_DEFINE(SVN_HAS_ATOMIC_BUILTINS, 1, [Define if compiler provides atomic builtins])
|
|
+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' && test "${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 Check for libtool -- we'll definitely need it for all our shared libs!
|
|
+AC_MSG_NOTICE([configuring libtool now])
|
|
+ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL])
|
|
+AC_ARG_ENABLE(experimental-libtool,
|
|
+ AS_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"
|
|
+fi
|
|
+AC_SUBST(SVN_LIBTOOL)
|
|
+
|
|
+dnl Determine the libtool version
|
|
+changequote(, )dnl
|
|
+lt_pversion=`$LIBTOOL --version 2>/dev/null|$SED -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
|
|
+lt_version=`echo $lt_pversion|$SED -e 's/\([a-z]*\)$/.\1/'`
|
|
+lt_major_version=`echo $lt_version | cut -d'.' -f 1`
|
|
+changequote([, ])dnl
|
|
+
|
|
+dnl set the default parameters
|
|
+svn_enable_static=yes
|
|
+svn_enable_shared=yes
|
|
+
|
|
+dnl check for --enable-static option
|
|
+AC_ARG_ENABLE(static,
|
|
+ AS_HELP_STRING([--enable-static],
|
|
+ [Build static libraries]),
|
|
+ [svn_enable_static="$enableval"], [svn_enable_static="yes"])
|
|
+
|
|
+dnl check for --enable-shared option
|
|
+AC_ARG_ENABLE(shared,
|
|
+ AS_HELP_STRING([--enable-shared],
|
|
+ [Build shared libraries]),
|
|
+ [svn_enable_shared="$enableval"], [svn_enable_shared="yes"])
|
|
+
|
|
+if test "$svn_enable_static" = "yes" && test "$svn_enable_shared" = "yes" ; then
|
|
+ AC_MSG_NOTICE([building both shared and static libraries])
|
|
+elif test "$svn_enable_static" = "yes" ; then
|
|
+ AC_MSG_NOTICE([building static libraries only])
|
|
+ LT_CFLAGS="-static $LT_CFLAGS"
|
|
+ LT_LDFLAGS="-static $LT_LDFLAGS"
|
|
+elif test "$svn_enable_shared" = "yes" ; then
|
|
+ AC_MSG_NOTICE([building shared libraries only])
|
|
+ if test "$lt_major_version" = "1" ; then
|
|
+ LT_CFLAGS="-prefer-pic $LT_CFLAGS"
|
|
+ elif test "$lt_major_version" = "2" ; then
|
|
+ LT_CFLAGS="-shared $LT_CFLAGS"
|
|
+ fi
|
|
+ LT_LDFLAGS="-shared $LT_LDFLAGS"
|
|
+else
|
|
+ AC_MSG_ERROR([cannot disable both shared and static libraries])
|
|
+fi
|
|
+
|
|
+dnl Check for --enable-all-static option
|
|
+AC_ARG_ENABLE(all-static,
|
|
+ AS_HELP_STRING([--enable-all-static],
|
|
+ [Build completely static (standalone) binaries.]),
|
|
+ [
|
|
+ if test "$enableval" = "yes" ; then
|
|
+ LT_LDFLAGS="-all-static $LT_LDFLAGS"
|
|
+ elif test "$enableval" != "no" ; then
|
|
+ AC_MSG_ERROR([--enable-all-static doesn't accept argument])
|
|
+ fi
|
|
+])
|
|
+
|
|
+AC_SUBST(LT_CFLAGS)
|
|
+AC_SUBST(LT_LDFLAGS)
|
|
+
|
|
+AC_ARG_ENABLE(local-library-preloading,
|
|
+ AS_HELP_STRING([--enable-local-library-preloading],
|
|
+ [Enable preloading of locally built libraries in locally
|
|
+ built executables. This may be necessary for testing
|
|
+ prior to installation on some platforms. It does not
|
|
+ work on some platforms (Darwin, OpenBSD, ...).]),
|
|
+ [
|
|
+ if test "$enableval" != "no"; then
|
|
+ if test "$svn_enable_shared" = "yes"; then
|
|
+ TRANSFORM_LIBTOOL_SCRIPTS="transform-libtool-scripts"
|
|
+ else
|
|
+ AC_MSG_ERROR([--enable-local-library-preloading conflicts with --disable-shared])
|
|
+ fi
|
|
+ else
|
|
+ TRANSFORM_LIBTOOL_SCRIPTS=""
|
|
+ fi
|
|
+ ], [
|
|
+ TRANSFORM_LIBTOOL_SCRIPTS=""
|
|
+])
|
|
+AC_SUBST(TRANSFORM_LIBTOOL_SCRIPTS)
|
|
+
|
|
+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)
|
|
+
|
|
+AC_MSG_CHECKING([whether to avoid circular linkage at all costs])
|
|
+case $host in
|
|
+ *-*-cygwin*)
|
|
+ AC_MSG_RESULT([yes])
|
|
+ AC_DEFINE([SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK], 1,
|
|
+ [Define if circular linkage is not possible on this platform.])
|
|
+ ;;
|
|
+ *)
|
|
+ AC_MSG_RESULT([no])
|
|
+ ;;
|
|
+esac
|
|
+
|
|
+dnl Check for trang.
|
|
+trang=yes
|
|
+AC_ARG_WITH(trang,
|
|
+AS_HELP_STRING([--with-trang=PATH],
|
|
+ [Specify the command to run the trang schema converter]),
|
|
+[
|
|
+ trang="$withval"
|
|
+])
|
|
+if test "$trang" = "yes"; then
|
|
+ AC_PATH_PROG(TRANG, trang, none)
|
|
+else
|
|
+ TRANG="$trang"
|
|
+ AC_SUBST(TRANG)
|
|
+fi
|
|
+
|
|
+dnl Check for doxygen
|
|
+doxygen=yes
|
|
+AC_ARG_WITH(doxygen,
|
|
+AC_HELP_STRING([--with-doxygen=PATH],
|
|
+ [Specify the command to run doxygen]),
|
|
+[
|
|
+ doxygen="$withval"
|
|
+])
|
|
+if test "$doxygen" = "yes"; then
|
|
+ AC_PATH_PROG(DOXYGEN, doxygen, none)
|
|
+else
|
|
+ DOXYGEN="$doxygen"
|
|
+ AC_SUBST(DOXYGEN)
|
|
+fi
|
|
+
|
|
+
|
|
+dnl Check for libraries --------------------
|
|
+
|
|
+dnl Expat -------------------
|
|
+
|
|
+AC_ARG_WITH(expat,
|
|
+ AS_HELP_STRING([--with-expat=INCLUDES:LIB_SEARCH_DIRS:LIBS],
|
|
+ [Specify location of Expat]),
|
|
+ [svn_lib_expat="$withval"],
|
|
+ [svn_lib_expat="::expat"])
|
|
+
|
|
+# APR-util accepts "builtin" as an argument to this option so if the user
|
|
+# passed "builtin" pretend the user didn't specify the --with-expat option
|
|
+# at all. Expat will (hopefully) be found in apr-util.
|
|
+test "_$svn_lib_expat" = "_builtin" && svn_lib_expat="::expat"
|
|
+
|
|
+AC_MSG_CHECKING([for Expat])
|
|
+if test -n "`echo "$svn_lib_expat" | $EGREP ":.*:"`"; then
|
|
+ SVN_XML_INCLUDES=""
|
|
+ for i in [`echo "$svn_lib_expat" | $SED -e "s/\([^:]*\):.*/\1/"`]; do
|
|
+ SVN_XML_INCLUDES="$SVN_XML_INCLUDES -I$i"
|
|
+ done
|
|
+ SVN_XML_INCLUDES="${SVN_XML_INCLUDES## }"
|
|
+ for l in [`echo "$svn_lib_expat" | $SED -e "s/.*:\([^:]*\):.*/\1/"`]; do
|
|
+ LDFLAGS="$LDFLAGS -L$l"
|
|
+ done
|
|
+ for l in [`echo "$svn_lib_expat" | $SED -e "s/.*:\([^:]*\)/\1/"`]; do
|
|
+ SVN_XML_LIBS="$SVN_XML_LIBS -l$l"
|
|
+ done
|
|
+ SVN_XML_LIBS="${SVN_XML_LIBS## }"
|
|
+ old_CPPFLAGS="$CPPFLAGS"
|
|
+ old_LIBS="$LIBS"
|
|
+ CPPFLAGS="$CPPFLAGS $SVN_XML_INCLUDES"
|
|
+ LIBS="$LIBS $SVN_XML_LIBS"
|
|
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
|
+#include <expat.h>
|
|
+int main()
|
|
+{XML_ParserCreate(NULL);}]])], svn_lib_expat="yes", svn_lib_expat="no")
|
|
+ LIBS="$old_LIBS"
|
|
+ if test "$svn_lib_expat" = "yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ else
|
|
+ SVN_XML_INCLUDES=""
|
|
+ SVN_XML_LIBS=""
|
|
+ CPPFLAGS="$CPPFLAGS $SVN_APRUTIL_INCLUDES"
|
|
+ if test "$enable_all_static" != "yes"; then
|
|
+ SVN_APRUTIL_LIBS="$SVN_APRUTIL_LIBS `$apu_config --libs`"
|
|
+ fi
|
|
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
+#include <expat.h>
|
|
+int main()
|
|
+{XML_ParserCreate(NULL);}]])], svn_lib_expat="yes", svn_lib_expat="no")
|
|
+ if test "$svn_lib_expat" = "yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ AC_MSG_WARN([Expat found amongst libraries used by APR-Util, but Subversion libraries might be needlessly linked against additional unused libraries. It can be avoided by specifying exact location of Expat in argument of --with-expat option.])
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ AC_MSG_ERROR([Expat not found])
|
|
+ fi
|
|
+ fi
|
|
+ CPPFLAGS="$old_CPPFLAGS"
|
|
+else
|
|
+ AC_MSG_RESULT([no])
|
|
+ if test "$svn_lib_expat" = "yes"; then
|
|
+ AC_MSG_ERROR([--with-expat option requires argument])
|
|
+ elif test "$svn_lib_expat" = "no"; then
|
|
+ AC_MSG_ERROR([Expat is required])
|
|
+ else
|
|
+ AC_MSG_ERROR([Invalid syntax of argument of --with-expat option])
|
|
+ fi
|
|
+fi
|
|
+AC_SUBST(SVN_XML_INCLUDES)
|
|
+AC_SUBST(SVN_XML_LIBS)
|
|
+
|
|
+dnl Berkeley DB -------------------
|
|
+
|
|
+# 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])
|
|
+
|
|
+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_SUBST(SVN_DB_INCLUDES)
|
|
+AC_SUBST(SVN_DB_LIBS)
|
|
+
|
|
+SVN_LIB_SASL
|
|
+
|
|
+if test "$svn_lib_sasl" = "yes"; then
|
|
+ AC_DEFINE(SVN_HAVE_SASL, 1,
|
|
+ [Defined if Cyrus SASL v2 is present on the system])
|
|
+fi
|
|
+
|
|
+dnl Mac OS specific features -------------------
|
|
+
|
|
+SVN_LIB_MACHO_ITERATE
|
|
+SVN_LIB_MACOS_PLIST
|
|
+SVN_LIB_MACOS_KEYCHAIN
|
|
+
|
|
+dnl APR_HAS_DSO -------------------
|
|
+
|
|
+AC_MSG_CHECKING([whether APR has support for DSOs])
|
|
+old_CPPFLAGS="$CPPFLAGS"
|
|
+CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
|
|
+AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
|
|
+#include <apr.h>
|
|
+#if !APR_HAS_DSO
|
|
+#error
|
|
+#endif]])],
|
|
+ APR_HAS_DSO="yes"
|
|
+ AC_MSG_RESULT([yes]),
|
|
+ APR_HAS_DSO="no"
|
|
+ AC_MSG_RESULT([no]))
|
|
+CPPFLAGS="$old_CPPFLAGS"
|
|
+
|
|
+
|
|
+dnl D-Bus (required for support for KWallet) -------------------
|
|
+
|
|
+if test -n "$PKG_CONFIG"; then
|
|
+ AC_MSG_CHECKING([for D-Bus .pc file])
|
|
+ if $PKG_CONFIG --exists dbus-1; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ old_CPPFLAGS="$CPPFLAGS"
|
|
+ old_LIBS="$LIBS"
|
|
+ DBUS_CPPFLAGS="`$PKG_CONFIG --cflags dbus-1`"
|
|
+ AC_MSG_CHECKING([D-Bus version])
|
|
+ DBUS_VERSION="`$PKG_CONFIG --modversion dbus-1`"
|
|
+ AC_MSG_RESULT([$DBUS_VERSION])
|
|
+ # D-Bus 0.* requires DBUS_API_SUBJECT_TO_CHANGE
|
|
+ if test -n ["`echo "$DBUS_VERSION" | $EGREP '^0\.[[:digit:]]+'`"]; then
|
|
+ DBUS_CPPFLAGS="$DBUS_CPPFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
|
|
+ fi
|
|
+ DBUS_LIBS="`$PKG_CONFIG --libs dbus-1`"
|
|
+ CPPFLAGS="$CPPFLAGS $DBUS_CPPFLAGS"
|
|
+ LIBS="$LIBS $DBUS_LIBS"
|
|
+ AC_MSG_CHECKING([for D-Bus])
|
|
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
|
+#include <dbus/dbus.h>
|
|
+int main()
|
|
+{dbus_bus_get(DBUS_BUS_SESSION, NULL);}]])], HAVE_DBUS="yes", HAVE_DBUS="no")
|
|
+ if test "$HAVE_DBUS" = "yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ fi
|
|
+ CPPFLAGS="$old_CPPFLAGS"
|
|
+ LIBS="$old_LIBS"
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ fi
|
|
+fi
|
|
+
|
|
+dnl GPG Agent -------------------
|
|
+
|
|
+AC_ARG_WITH(gpg_agent,
|
|
+AS_HELP_STRING([--without-gpg-agent],
|
|
+ [Disable support for GPG-Agent]),
|
|
+ [], [with_gpg_agent=yes])
|
|
+AC_MSG_CHECKING([whether to support GPG-Agent])
|
|
+if test "$with_gpg_agent" = "yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ AC_DEFINE([SVN_HAVE_GPG_AGENT], [1],
|
|
+ [Is GPG Agent support enabled?])
|
|
+else
|
|
+ AC_MSG_RESULT([no])
|
|
+fi
|
|
+
|
|
+AC_SUBST(SVN_HAVE_GPG_AGENT)
|
|
+
|
|
+dnl GNOME Keyring -------------------
|
|
+
|
|
+AC_ARG_WITH(gnome_keyring,
|
|
+ AS_HELP_STRING([--with-gnome-keyring],
|
|
+ [Enable use of GNOME Keyring for auth credentials (enabled by default if found)]),
|
|
+ [with_gnome_keyring="$withval"],
|
|
+ [with_gnome_keyring=auto])
|
|
+
|
|
+found_gnome_keyring=no
|
|
+AC_MSG_CHECKING([whether to look for GNOME Keyring])
|
|
+if test "$with_gnome_keyring" != "no"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ if test "$svn_enable_shared" = "yes"; then
|
|
+ if test "$APR_HAS_DSO" = "yes"; then
|
|
+ if test -n "$PKG_CONFIG"; then
|
|
+ AC_MSG_CHECKING([for GLib and GNOME Keyring .pc files])
|
|
+ if $PKG_CONFIG --exists glib-2.0 gnome-keyring-1; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ old_CPPFLAGS="$CPPFLAGS"
|
|
+ SVN_GNOME_KEYRING_INCLUDES="`$PKG_CONFIG --cflags glib-2.0 gnome-keyring-1`"
|
|
+ CPPFLAGS="$CPPFLAGS $SVN_GNOME_KEYRING_INCLUDES"
|
|
+ AC_CHECK_HEADER(gnome-keyring.h, found_gnome_keyring=yes, found_gnome_keyring=no)
|
|
+ AC_MSG_CHECKING([for GNOME Keyring])
|
|
+ if test "$found_gnome_keyring" = "yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ AC_DEFINE([SVN_HAVE_GNOME_KEYRING], [1],
|
|
+ [Is GNOME Keyring support enabled?])
|
|
+ CPPFLAGS="$old_CPPFLAGS"
|
|
+ SVN_GNOME_KEYRING_LIBS="`$PKG_CONFIG --libs glib-2.0 gnome-keyring-1`"
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ if test "$with_gnome_keyring" = "yes"; then
|
|
+ AC_MSG_ERROR([cannot find GNOME Keyring])
|
|
+ fi
|
|
+ fi
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ if test "$with_gnome_keyring" = "yes"; then
|
|
+ AC_MSG_ERROR([cannot find GLib and GNOME Keyring .pc files.])
|
|
+ else
|
|
+ with_gnome_keyring=no
|
|
+ fi
|
|
+ fi
|
|
+ else
|
|
+ if test "$with_gnome_keyring" = "yes"; then
|
|
+ AC_MSG_ERROR([cannot find pkg-config. GNOME Keyring requires this.])
|
|
+ else
|
|
+ with_gnome_keyring=no
|
|
+ fi
|
|
+ fi
|
|
+ else
|
|
+ if test "$with_gnome_keyring" = "yes"; then
|
|
+ AC_MSG_ERROR([APR does not have support for DSOs. GNOME Keyring requires this.])
|
|
+ else
|
|
+ with_gnome_keyring=no
|
|
+ fi
|
|
+ fi
|
|
+ else
|
|
+ if test "$with_gnome_keyring" = "yes"; then
|
|
+ AC_MSG_ERROR([--with-gnome-keyring conflicts with --disable-shared])
|
|
+ else
|
|
+ with_gnome_keyring=no
|
|
+ fi
|
|
+ fi
|
|
+else
|
|
+ AC_MSG_RESULT([no])
|
|
+fi
|
|
+AC_SUBST(SVN_GNOME_KEYRING_INCLUDES)
|
|
+AC_SUBST(SVN_GNOME_KEYRING_LIBS)
|
|
+
|
|
+
|
|
+dnl Ev2 experimental features ----------------------
|
|
+dnl Note: The Ev2 implementations will be built unconditionally, but by
|
|
+dnl providing this flag, users can choose to use the currently-shimmed Ev2
|
|
+dnl editor implementations for various operations. This will probably
|
|
+dnl negatively impact performance, but is useful for testing.
|
|
+AC_ARG_ENABLE(ev2-impl,
|
|
+ AS_HELP_STRING([--enable-ev2-impl],
|
|
+ [Use Ev2 implementations, where available [EXPERIMENTAL]]),
|
|
+ [enable_ev2_impl=$enableval],[enable_ev2_impl=no])
|
|
+if test "$enable_ev2_impl" = "yes"; then
|
|
+ AC_DEFINE(ENABLE_EV2_IMPL, 1,
|
|
+ [Define to 1 if Ev2 implementations should be used.])
|
|
+fi
|
|
+
|
|
+
|
|
+dnl I18n -------------------
|
|
+
|
|
+AC_ARG_ENABLE(nls,
|
|
+ AS_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], [],
|
|
+ [
|
|
+ enable_nls="no"
|
|
+ ])
|
|
+ if test "$enable_nls" = "no"; then
|
|
+ # Destroy the cached result so we can test again
|
|
+ unset ac_cv_search_bindtextdomain
|
|
+ # On some systems, libintl needs libiconv to link properly,
|
|
+ # so try again with -liconv.
|
|
+ AC_SEARCH_LIBS(bindtextdomain, [intl],
|
|
+ [
|
|
+ enable_nls="yes"
|
|
+ # This is here so that -liconv ends up in LIBS
|
|
+ # if it worked with -liconv.
|
|
+ AC_CHECK_LIB(iconv, libiconv_open)
|
|
+ ],
|
|
+ [
|
|
+ AC_MSG_WARN([bindtextdomain() not found. Disabling NLS.])
|
|
+ enable_nls="no"
|
|
+ ], -liconv)
|
|
+ fi
|
|
+ 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([
|
|
+/* Indicate to translators that string X should be translated. Do not look
|
|
+ up the translation at run time; just expand to X. This macro is suitable
|
|
+ for use where a constant string is required at compile time. */
|
|
+#define N_(x) x
|
|
+/* Indicate to translators that we have decided the string X should not be
|
|
+ translated. Expand to X. */
|
|
+#define U_(x) x
|
|
+#ifdef ENABLE_NLS
|
|
+#include <locale.h>
|
|
+#include <libintl.h>
|
|
+/* Indicate to translators that string X should be translated. At run time,
|
|
+ look up and return the translation of X. */
|
|
+#define _(x) dgettext(PACKAGE_NAME, x)
|
|
+/* Indicate to translators that strings X1 and X2 are singular and plural
|
|
+ forms of the same message, and should be translated. At run time, return
|
|
+ an appropriate translation depending on the number N. */
|
|
+#define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n)
|
|
+#else
|
|
+#define _(x) (x)
|
|
+#define Q_(x1, x2, n) (((n) == 1) ? x1 : x2)
|
|
+#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)
|
|
+
|
|
+dnl libmagic -------------------
|
|
+
|
|
+libmagic_found=no
|
|
+
|
|
+AC_ARG_WITH(libmagic,AS_HELP_STRING([--with-libmagic=PREFIX],
|
|
+ [libmagic filetype detection library]),
|
|
+[
|
|
+ if test "$withval" = "yes" ; then
|
|
+ AC_CHECK_HEADER(magic.h, [
|
|
+ AC_CHECK_LIB(magic, magic_open, [libmagic_found="builtin"])
|
|
+ ])
|
|
+ libmagic_prefix="the default locations"
|
|
+ elif test "$withval" != "no"; then
|
|
+ libmagic_prefix=$withval
|
|
+ save_cppflags="$CPPFLAGS"
|
|
+ CPPFLAGS="$CPPFLAGS -I$libmagic_prefix/include"
|
|
+ AC_CHECK_HEADERS(magic.h,[
|
|
+ save_ldflags="$LDFLAGS"
|
|
+ LDFLAGS="-L$libmagic_prefix/lib"
|
|
+ AC_CHECK_LIB(magic, magic_open, [libmagic_found="yes"])
|
|
+ LDFLAGS="$save_ldflags"
|
|
+ ])
|
|
+ CPPFLAGS="$save_cppflags"
|
|
+ fi
|
|
+ if test "$withval" != "no" && test "$libmagic_found" = "no"; then
|
|
+ AC_MSG_ERROR([[--with-libmagic requested, but libmagic not found at $libmagic_prefix]])
|
|
+ fi
|
|
+],
|
|
+[
|
|
+ AC_CHECK_HEADER(magic.h, [
|
|
+ AC_CHECK_LIB(magic, magic_open, [libmagic_found="builtin"])
|
|
+ ])
|
|
+])
|
|
+
|
|
+if test "$libmagic_found" != "no"; then
|
|
+ AC_DEFINE([SVN_HAVE_LIBMAGIC], [1], [Defined if libmagic support is enabled])
|
|
+ SVN_MAGIC_LIBS="-lmagic"
|
|
+fi
|
|
+
|
|
+if test "$libmagic_found" = "yes"; then
|
|
+ SVN_MAGIC_INCLUDES="-I$libmagic_prefix/include"
|
|
+ LDFLAGS="$LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS(-L$libmagic_prefix/lib)`"
|
|
+fi
|
|
+
|
|
+AC_SUBST(SVN_MAGIC_INCLUDES)
|
|
+AC_SUBST(SVN_MAGIC_LIBS)
|
|
+
|
|
+dnl KWallet -------------------
|
|
+SVN_LIB_KWALLET
|
|
+
|
|
+if test "$svn_lib_kwallet" = "yes"; then
|
|
+ AC_DEFINE([SVN_HAVE_KWALLET], 1,
|
|
+ [Defined if KWallet support is enabled])
|
|
+fi
|
|
+
|
|
+dnl plaintext passwords -------------------
|
|
+AC_ARG_ENABLE(plaintext-password-storage,
|
|
+AS_HELP_STRING([--disable-plaintext-password-storage],
|
|
+ [Disable on-disk caching of plaintext passwords and passphrases.
|
|
+ (Leaving this functionality enabled will not force Subversion
|
|
+ to store passwords in plaintext, but does permit users to
|
|
+ explicitly allow that behavior via runtime configuration.)]),
|
|
+[
|
|
+ if test "$enableval" = "no"; then
|
|
+ AC_MSG_NOTICE([Disabling plaintext password/passphrase storage])
|
|
+ AC_DEFINE(SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE, 1,
|
|
+ [Defined if plaintext password/passphrase storage is disabled])
|
|
+ fi
|
|
+])
|
|
+
|
|
+dnl Build and install rules -------------------
|
|
+
|
|
+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 sub-test $BUILD_APACHE_RULE tools"
|
|
+
|
|
+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)"
|
|
+fi
|
|
+
|
|
+if test "$svn_lib_serf" = "yes"; then
|
|
+ BUILD_RULES="$BUILD_RULES serf-lib"
|
|
+ INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-ramod-lib/install-ramod-lib install-serf-lib/'`"
|
|
+ INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-serf-lib"
|
|
+fi
|
|
+
|
|
+if test "$svn_lib_kwallet" = "yes"; then
|
|
+ BUILD_RULES="$BUILD_RULES kwallet-lib"
|
|
+ INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-lib/install-lib install-kwallet-lib/'`"
|
|
+ INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-kwallet-lib"
|
|
+fi
|
|
+
|
|
+if test "$found_gnome_keyring" = "yes"; then
|
|
+ BUILD_RULES="$BUILD_RULES gnome-keyring-lib"
|
|
+ INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-lib/install-lib install-gnome-keyring-lib/'`"
|
|
+ INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-gnome-keyring-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)
|
|
+
|
|
+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 ----------
|
|
+
|
|
+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 check for uname
|
|
+AC_CHECK_HEADERS(sys/utsname.h, [AC_CHECK_FUNCS(uname)], [])
|
|
+
|
|
+dnl check for termios
|
|
+AC_CHECK_HEADER(termios.h,[
|
|
+ AC_CHECK_FUNCS(tcgetattr tcsetattr,[
|
|
+ AC_DEFINE(HAVE_TERMIOS_H,1,[Defined if we have a usable termios library.])
|
|
+ ])
|
|
+])
|
|
+
|
|
+dnl Process some configuration options ----------
|
|
+
|
|
+AC_ARG_WITH(openssl,
|
|
+AS_HELP_STRING([--with-openssl],
|
|
+ [This option does NOT affect the Subversion build process in any
|
|
+ way. It tells an integrated Serf HTTP client library build
|
|
+ process where to locate the OpenSSL library when (and only when)
|
|
+ building Serf as an integrated part of the Subversion build
|
|
+ process. When linking to a previously installed version of Serf
|
|
+ instead, you do not need to use this option.]),
|
|
+[])
|
|
+
|
|
+AC_ARG_ENABLE(debug,
|
|
+AS_HELP_STRING([--enable-debug],
|
|
+ [Turn on debugging]),
|
|
+[
|
|
+ if test "$enableval" = "yes" ; then
|
|
+ enable_debugging="yes"
|
|
+ else
|
|
+ enable_debugging="no"
|
|
+ fi
|
|
+],
|
|
+[
|
|
+ # Neither --enable-debug nor --disable-debug was passed.
|
|
+ enable_debugging="maybe"
|
|
+])
|
|
+
|
|
+AC_ARG_ENABLE(optimize,
|
|
+AS_HELP_STRING([--enable-optimize],
|
|
+ [Turn on optimizations]),
|
|
+[
|
|
+ if test "$enableval" = "yes" ; then
|
|
+ enable_optimization="yes"
|
|
+ else
|
|
+ enable_optimization="no"
|
|
+ fi
|
|
+],
|
|
+[
|
|
+ # Neither --enable-optimize nor --disable-optimize was passed.
|
|
+ enable_optimization="maybe"
|
|
+])
|
|
+
|
|
+dnl Use -Wl,--no-undefined during linking of some libraries
|
|
+AC_ARG_ENABLE(disallowing-of-undefined-references,
|
|
+ [AS_HELP_STRING([--enable-disallowing-of-undefined-references],
|
|
+ [Use -Wl,--no-undefined flag during linking of some libraries to disallow undefined references])])
|
|
+if test "$enable_disallowing_of_undefined_references" != "yes" && test "`uname`" != "Linux"; then
|
|
+ enable_disallowing_of_undefined_references="no"
|
|
+fi
|
|
+if test "$enable_disallowing_of_undefined_references" != "no"; then
|
|
+ AC_MSG_CHECKING([for -Wl,--no-undefined])
|
|
+ old_LDFLAGS="$LDFLAGS"
|
|
+ LDFLAGS="$LDFLAGS -Wl,--no-undefined"
|
|
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(){;}]])], [svn_wl_no_undefined="yes"], [svn_wl_no_undefined="no"])
|
|
+ LDFLAGS="$old_LDFLAGS"
|
|
+ if test "$svn_wl_no_undefined" = "yes"; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ for library_dir in "$abs_srcdir/subversion/libsvn_"*; do
|
|
+ eval "`basename $library_dir`_LDFLAGS=-Wl,--no-undefined"
|
|
+ done
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ if test "$enable_disallowing_of_undefined_references" = "yes"; then
|
|
+ AC_MSG_ERROR([--enable-disallowing-of-undefined-references explicitly requested, but -Wl,--no-undefined not supported])
|
|
+ fi
|
|
+ fi
|
|
+fi
|
|
+AC_SUBST([libsvn_auth_gnome_keyring_LDFLAGS])
|
|
+AC_SUBST([libsvn_auth_kwallet_LDFLAGS])
|
|
+AC_SUBST([libsvn_client_LDFLAGS])
|
|
+AC_SUBST([libsvn_delta_LDFLAGS])
|
|
+AC_SUBST([libsvn_diff_LDFLAGS])
|
|
+AC_SUBST([libsvn_fs_LDFLAGS])
|
|
+AC_SUBST([libsvn_fs_base_LDFLAGS])
|
|
+AC_SUBST([libsvn_fs_fs_LDFLAGS])
|
|
+AC_SUBST([libsvn_fs_util_LDFLAGS])
|
|
+AC_SUBST([libsvn_ra_LDFLAGS])
|
|
+AC_SUBST([libsvn_ra_local_LDFLAGS])
|
|
+AC_SUBST([libsvn_ra_serf_LDFLAGS])
|
|
+AC_SUBST([libsvn_ra_svn_LDFLAGS])
|
|
+AC_SUBST([libsvn_repos_LDFLAGS])
|
|
+AC_SUBST([libsvn_subr_LDFLAGS])
|
|
+AC_SUBST([libsvn_wc_LDFLAGS])
|
|
+
|
|
+
|
|
+AC_ARG_ENABLE(maintainer-mode,
|
|
+AS_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 Enable some extra warnings. Put these before the user's flags
|
|
+ dnl so the user can specify flags that override these.
|
|
+ if test "$GCC" = "yes"; then
|
|
+ AC_MSG_NOTICE([maintainer-mode: adding GCC warning flags])
|
|
+
|
|
+ dnl some additional flags that can be handy for an occasional review,
|
|
+ dnl but throw too many warnings in svn code, of too little importance,
|
|
+ dnl to keep these enabled. Remove the "dnl" to do a run with these
|
|
+ dnl switches enabled.
|
|
+ dnl ./configure CUSERFLAGS="-Wswitch-enum -Wswitch-default"
|
|
+
|
|
+ dnl Add each of the following flags only if the C compiler accepts it.
|
|
+ CFLAGS_KEEP="$CFLAGS"
|
|
+ CFLAGS=""
|
|
+
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Werror=implicit-function-declaration])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Werror=declaration-after-statement])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wextra-tokens])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wnewline-eof])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wshorten-64-to-32])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wold-style-definition])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wno-system-headers])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wno-format-nonliteral])
|
|
+
|
|
+ CMAINTAINERFLAGS="$CFLAGS $CMAINTAINERFLAGS"
|
|
+ CFLAGS="$CFLAGS_KEEP"
|
|
+
|
|
+ dnl Add flags that all versions of GCC (should) support
|
|
+ CMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow -Wformat=2 -Wunused -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wno-multichar -Wredundant-decls -Wnested-externs -Winline -Wno-long-long $CMAINTAINERFLAGS"
|
|
+ fi
|
|
+ if test "$GXX" = "yes"; then
|
|
+ AC_MSG_NOTICE([maintainer-mode: adding G++ warning flags])
|
|
+
|
|
+ dnl Add each of the following flags only if the C++ compiler accepts it.
|
|
+ CXXFLAGS_KEEP="$CXXFLAGS"
|
|
+ CXXFLAGS=""
|
|
+
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-Wextra-tokens])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-Wnewline-eof])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-Wshorten-64-to-32])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-Wno-system-headers])
|
|
+
|
|
+ CXXMAINTAINERFLAGS="$CXXFLAGS $CXXMAINTAINERFLAGS"
|
|
+ CXXFLAGS="$CXXFLAGS_KEEP"
|
|
+
|
|
+ dnl Add flags that all versions of G++ (should) support
|
|
+ CXXMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow -Wunused -Wunreachable-code $CXXMAINTAINERFLAGS"
|
|
+ fi
|
|
+ fi
|
|
+])
|
|
+
|
|
+if test "$enable_debugging" = "yes" ; then
|
|
+ dnl At the moment, we don't want optimization, because we're
|
|
+ dnl debugging. Unless optiization was explicitly enabled.
|
|
+ if test "$enable_optimization" != "yes"; then
|
|
+ AC_MSG_NOTICE([Disabling optimizations for debugging])
|
|
+ CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"]
|
|
+ CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"]
|
|
+ fi
|
|
+ dnl Add debugging flags, unless they were set by the user
|
|
+ if test -z ["`echo $CUSERFLAGS' ' | $EGREP -- '-g[0-9]? '`"]; then
|
|
+ AC_MSG_NOTICE([Enabling debugging for C])
|
|
+ CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"]
|
|
+ SVN_CFLAGS_ADD_IFELSE([-fno-inline])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-fno-omit-frame-pointer])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-g3],[],[
|
|
+ SVN_CFLAGS_ADD_IFELSE([-g2],[],[
|
|
+ SVN_CFLAGS_ADD_IFELSE([-g])])])
|
|
+ fi
|
|
+ if test -z ["`echo $CXXUSERFLAGS' ' | $EGREP -- '-g[0-9]? '`"]; then
|
|
+ AC_MSG_NOTICE([Enabling debugging for C++])
|
|
+ CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"]
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-fno-inline])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-fno-omit-frame-pointer])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-g3],[],[
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-g2],[],[
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-g])])])
|
|
+ fi
|
|
+ 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"
|
|
+ CXXFLAGS="$CXXFLAGS -DSVN_DEBUG -DAP_DEBUG"
|
|
+elif test "$enable_debugging" = "no" ; then
|
|
+ AC_MSG_NOTICE([Disabling debugging])
|
|
+ CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"]
|
|
+ CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"]
|
|
+ dnl Compile with NDEBUG to get rid of assertions
|
|
+ CFLAGS="$CFLAGS -DNDEBUG"
|
|
+ CXXFLAGS="$CXXFLAGS -DNDEBUG"
|
|
+# elif test "$enable_debugging" = "maybe" ; then
|
|
+# # do nothing
|
|
+fi
|
|
+
|
|
+if test "$enable_optimization" = "yes"; then
|
|
+ dnl Add optimization flags, unless they were set by the user
|
|
+ if test -z ["`echo $CUSERFLAGS' ' | $EGREP -- '-O[^ ]* '`"]; then
|
|
+ CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"]
|
|
+ if test "$enable_debugging" = "yes"; then
|
|
+ AC_MSG_NOTICE([Enabling optimizations for C (with debugging enabled)])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-O1],[],[
|
|
+ SVN_CFLAGS_ADD_IFELSE([-O])])
|
|
+ else
|
|
+ AC_MSG_NOTICE([Enabling optimizations for C])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-O3],[],[
|
|
+ SVN_CFLAGS_ADD_IFELSE([-O2],[],[
|
|
+ SVN_CFLAGS_ADD_IFELSE([-O1],[],[
|
|
+ SVN_CFLAGS_ADD_IFELSE([-O])])])])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-Wno-clobbered])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-flto])
|
|
+ SVN_CFLAGS_ADD_IFELSE([-fwhole-program])
|
|
+ fi
|
|
+ fi
|
|
+ if test -z ["`echo $CXXUSERFLAGS' ' | $EGREP -- '-O[^ ]* '`"]; then
|
|
+ CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"]
|
|
+ if test "$enable_debugging" = "yes"; then
|
|
+ AC_MSG_NOTICE([Enabling optimizations for C++ (with debugging enabled)])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-O1],[],[
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-O])])
|
|
+ else
|
|
+ AC_MSG_NOTICE([Enabling optimizations for C++])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-O3],[],[
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-O2],[],[
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-O1],[],[
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-O])])])])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-Wno-clobbered])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-flto])
|
|
+ SVN_CXXFLAGS_ADD_IFELSE([-fwhole-program])
|
|
+ fi
|
|
+ fi
|
|
+elif test "$enable_optimization" = "no"; then
|
|
+ dnl Remove all optimization flags
|
|
+ AC_MSG_NOTICE([Disabling optimizations])
|
|
+ CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"]
|
|
+ CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"]
|
|
+# elif test "$enable_optimization" = "maybe" ; then
|
|
+# # do nothing
|
|
+fi
|
|
+
|
|
+
|
|
+AC_ARG_ENABLE(full-version-match,
|
|
+AS_HELP_STRING([--disable-full-version-match],
|
|
+ [Disable the full version match rules when checking
|
|
+ Subversion library compatibility.]),
|
|
+[
|
|
+ if test "$enableval" = "no" ; then
|
|
+ AC_MSG_NOTICE([Disabling svn full version matching])
|
|
+ AC_DEFINE(SVN_DISABLE_FULL_VERSION_MATCH, 1,
|
|
+ [Defined if the full version matching rules are disabled])
|
|
+ fi
|
|
+])
|
|
+
|
|
+AC_ARG_WITH(editor,
|
|
+AS_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
|
|
+
|
|
+])
|
|
+
|
|
+SVN_LIB_Z
|
|
+
|
|
+MOD_ACTIVATION=""
|
|
+AC_ARG_ENABLE(mod-activation,
|
|
+AS_HELP_STRING([--enable-mod-activation],
|
|
+ [Enable mod_dav_svn in httpd.conf]),
|
|
+[
|
|
+ if test "$enableval" = "yes" ; then
|
|
+ MOD_ACTIVATION="-a"
|
|
+ AC_MSG_NOTICE([Enabling apache module activation])
|
|
+ else
|
|
+ AC_MSG_NOTICE([Disabling apache module activation])
|
|
+ fi
|
|
+])
|
|
+AC_SUBST(MOD_ACTIVATION)
|
|
+
|
|
+
|
|
+
|
|
+AC_ARG_ENABLE(gcov,
|
|
+AC_HELP_STRING([--enable-gcov],
|
|
+ [Turn on gcov coverage testing (GCC only).]),
|
|
+[
|
|
+ if test "$enableval" = "yes" ; then
|
|
+ dnl Probably other compilers support something similar;
|
|
+ dnl feel free to extend this to include them.
|
|
+ if test "$GCC" = "yes"; then
|
|
+ if test "$svn_enable_shared" = "yes" ; then
|
|
+ AC_MSG_ERROR([Can't have --enable-gcov 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-gcov.)
|
|
+ fi
|
|
+ AC_MSG_NOTICE([Enabling gcov coverage testing.])
|
|
+ CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
|
|
+ CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage"
|
|
+ else
|
|
+ AC_MSG_ERROR([We only support --enable-gcov with GCC right now.])
|
|
+ fi
|
|
+ fi
|
|
+])
|
|
+
|
|
+AC_ARG_ENABLE(gprof,
|
|
+AS_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 "$svn_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"
|
|
+ CXXFLAGS="$CXXFLAGS -pg"
|
|
+ LT_LDFLAGS="$LT_LDFLAGS -pg"
|
|
+ else
|
|
+ AC_MSG_ERROR([We only support --enable-gprof with GCC right now.])
|
|
+ fi
|
|
+ fi
|
|
+])
|
|
+
|
|
+
|
|
+# Scripting and Bindings languages
|
|
+
|
|
+# Python: Used for testsuite, and bindings
|
|
+
|
|
+
|
|
+PYTHON="`$abs_srcdir/build/find_python.sh`"
|
|
+if test -z "$PYTHON"; then
|
|
+ AC_MSG_WARN([Python 2.5 or later 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
|
|
+AC_PATH_PROGS(PYTHON, "$PYTHON", none)
|
|
+
|
|
+# The minimum version for the JVM runtime for our Java bytecode.
|
|
+JAVA_OLDEST_WORKING_VER='1.5'
|
|
+# SVN_CHECK_JDK sets $JAVA_CLASSPATH
|
|
+SVN_CHECK_JDK($JAVA_OLDEST_WORKING_VER)
|
|
+
|
|
+AC_PATH_PROG(PERL, perl, none)
|
|
+
|
|
+if test -n "$RUBY"; then
|
|
+ AC_PATH_PROG(RUBY, "$RUBY", none)
|
|
+else
|
|
+ AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193, none)
|
|
+fi
|
|
+if test "$RUBY" != "none"; then
|
|
+ AC_MSG_CHECKING([rb_hash_foreach])
|
|
+ if "$RUBY" -r mkmf -e 'exit(have_func("rb_hash_foreach") ? 0 : 1)' >/dev/null; then
|
|
+ AC_MSG_RESULT([yes])
|
|
+ if test -n "$RDOC"; then
|
|
+ AC_PATH_PROG(RDOC, "$RDOC", none)
|
|
+ else
|
|
+ AC_PATH_PROGS(RDOC, rdoc rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193, none)
|
|
+ fi
|
|
+ AC_CACHE_CHECK([for Ruby major version], [svn_cv_ruby_major],[
|
|
+ svn_cv_ruby_major="`$RUBY -rrbconfig -e 'print RbConfig::CONFIG.fetch(%q(MAJOR))'`"
|
|
+ ])
|
|
+ RUBY_MAJOR="$svn_cv_ruby_major"
|
|
+
|
|
+ AC_CACHE_CHECK([for Ruby minor version], [svn_cv_ruby_minor],[
|
|
+ svn_cv_ruby_minor="`$RUBY -rrbconfig -e 'print RbConfig::CONFIG.fetch(%q(MINOR))'`"
|
|
+ ])
|
|
+ RUBY_MINOR="$svn_cv_ruby_minor"
|
|
+
|
|
+ AC_CACHE_CHECK([for Ruby teeny version], [svn_cv_ruby_teeny],[
|
|
+ svn_cv_ruby_teeny="`$RUBY -rrbconfig -e 'major, minor, teeny = RUBY_VERSION.split("."); print teeny;'`"
|
|
+ ])
|
|
+ RUBY_TEENY="$svn_cv_ruby_teeny"
|
|
+
|
|
+ AC_SUBST(RUBY_MAJOR)
|
|
+ AC_SUBST(RUBY_MINOR)
|
|
+ AC_SUBST(RUBY_TEENY)
|
|
+ if test \( "$RUBY_MAJOR" -eq "1" -a "$RUBY_MINOR" -gt "8" -a "$RUBY_TEENY" -lt "3" \); then
|
|
+ # Disallow Ruby between 1.8.7 and 1.9.3
|
|
+ RUBY="none"
|
|
+ AC_MSG_WARN([The detected Ruby is between 1.9 and 1.9.3])
|
|
+ AC_MSG_WARN([Only 1.8.x and 1.9.3 releases are supported at this time])
|
|
+ elif test \( "$RUBY_MAJOR" -eq "1" -a "$RUBY_MINOR" -eq "9" -a "$RUBY_TEENY" -eq "3" \); then
|
|
+ #Warn about 1.9.3 support
|
|
+ AC_MSG_WARN([WARNING: The detected Ruby is 1.9.3])
|
|
+ AC_MSG_WARN([WARNING: Only 1.8.x releases are fully supported, 1.9.3 support is new])
|
|
+ fi
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ 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
|
|
+
|
|
+SVN_CHECK_CTYPESGEN
|
|
+
|
|
+dnl decide whether we want to link against the RA/FS libraries
|
|
+AC_ARG_ENABLE(runtime-module-search,
|
|
+AS_HELP_STRING([--enable-runtime-module-search],
|
|
+ [Turn on dynamic loading of RA/FS libraries including
|
|
+ third-party FS libraries]),
|
|
+[
|
|
+ if test "$enableval" = "yes"; then
|
|
+ use_dso=yes
|
|
+ if test "$svn_enable_shared" = "no"; then
|
|
+ AC_MSG_ERROR([--enable-runtime-module-search conflicts with --disable-shared])
|
|
+ fi
|
|
+ AC_DEFINE(SVN_USE_DSO, 1,
|
|
+ [Defined if svn should try to load DSOs])
|
|
+ fi
|
|
+])
|
|
+
|
|
+if test "$svn_enable_shared" = "no" || test "$use_dso" != "yes"; then
|
|
+ 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_serf" = "yes"; then
|
|
+ AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_SERF, 1,
|
|
+ [Defined if libsvn_client should link against libsvn_ra_serf])
|
|
+ svn_ra_lib_deps="$svn_ra_lib_deps \$(RA_SERF_DEPS)"
|
|
+ svn_ra_lib_install_deps="$svn_ra_lib_install_deps install-serf-lib"
|
|
+ svn_ra_lib_link="$svn_ra_lib_link \$(RA_SERF_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)
|
|
+
|
|
+# ==== JavaHL ================================================================
|
|
+
|
|
+dnl Possibly compile JavaHL
|
|
+do_javahl_build=no
|
|
+AC_ARG_ENABLE(javahl,
|
|
+ AS_HELP_STRING([--enable-javahl],
|
|
+ [Enable compilation of Java high-level bindings (requires C++)]),
|
|
+ [ if test "$enableval" = "yes" ; then
|
|
+ do_javahl_build="yes"
|
|
+ fi
|
|
+ ])
|
|
+
|
|
+JAVAHL_OBJDIR=""
|
|
+INSTALL_EXTRA_JAVAHL_LIB=""
|
|
+FIX_JAVAHL_LIB=""
|
|
+JAVAHL_TESTS_TARGET=""
|
|
+JAVAHL_COMPAT_TESTS_TARGET=""
|
|
+LT_CXX_LIBADD=""
|
|
+if test "$do_javahl_build" = "yes"; then
|
|
+ dnl Check for suitable JDK
|
|
+ if test "$JDK_SUITABLE" = "no"; then
|
|
+ AC_MSG_ERROR([Cannot compile JavaHL without a suitable JDK.
|
|
+ Please specify a suitable JDK using the --with-jdk option.])
|
|
+ fi
|
|
+
|
|
+ dnl The temporary directory where libtool compiles libsvnjavahl.
|
|
+ JAVAHL_OBJDIR='$(libsvnjavahl_PATH)/.libs'
|
|
+
|
|
+ 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'
|
|
+ FIX_JAVAHL_LIB="ln -sf libsvnjavahl-1.dylib $JAVAHL_OBJDIR/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(JAVAHL_OBJDIR)
|
|
+AC_SUBST(FIX_JAVAHL_LIB)
|
|
+AC_SUBST(LT_CXX_LIBADD)
|
|
+
|
|
+AC_ARG_WITH(junit,
|
|
+AS_HELP_STRING([--with-junit=PATH],
|
|
+ [Specify a path to the junit JAR file.]),
|
|
+[
|
|
+ if test "$withval" != "no"; then
|
|
+ if test -n "$JAVA_CLASSPATH"; then
|
|
+ JAVA_CLASSPATH="$withval:$JAVA_CLASSPATH"
|
|
+ else
|
|
+ JAVA_CLASSPATH="$withval"
|
|
+ fi
|
|
+ JAVAHL_TESTS_TARGET="javahl-tests"
|
|
+ JAVAHL_COMPAT_TESTS_TARGET="javahl-compat-tests"
|
|
+ fi
|
|
+])
|
|
+AC_SUBST(JAVA_CLASSPATH)
|
|
+AC_SUBST(JAVAHL_TESTS_TARGET)
|
|
+AC_SUBST(JAVAHL_COMPAT_TESTS_TARGET)
|
|
+
|
|
+# ==== Miscellaneous bits ====================================================
|
|
+
|
|
+# Strip '-no-cpp-precomp' from CPPFLAGS for the clang compiler
|
|
+### I think we get this flag from APR, so the fix probably belongs there
|
|
+if test "$CC" = "clang"; then
|
|
+ SVN_STRIP_FLAG(CPPFLAGS, [-no-cpp-precomp ])
|
|
+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])
|
|
+
|
|
+DEFAULT_FS_TYPE="fsfs"
|
|
+AC_DEFINE_UNQUOTED(DEFAULT_FS_TYPE, "$DEFAULT_FS_TYPE",
|
|
+ [The fs type to use by default])
|
|
+
|
|
+DEFAULT_HTTP_LIBRARY="serf"
|
|
+AC_DEFINE_UNQUOTED(DEFAULT_HTTP_LIBRARY, "$DEFAULT_HTTP_LIBRARY",
|
|
+ [The http library to use by default])
|
|
+
|
|
+# BSD/OS (BSDi) needs to use a different include syntax in Makefile
|
|
+INCLUDE_OUTPUTS="include \$(top_srcdir)/build-outputs.mk"
|
|
+case "$host" in
|
|
+ *bsdi*)
|
|
+ # Check whether they've installed GNU make
|
|
+ if ! make --version > /dev/null 2>&1; then
|
|
+ # BSDi make
|
|
+ INCLUDE_OUTPUTS=".include \"\$(top_srcdir)/build-outputs.mk\""
|
|
+ fi
|
|
+ ;;
|
|
+esac
|
|
+AC_SUBST(INCLUDE_OUTPUTS)
|
|
+
|
|
+# ==== Detection complete - output and run config.status =====================
|
|
+
|
|
+AC_CONFIG_HEADERS(subversion/svn_private_config.h.tmp:subversion/svn_private_config.h.in)
|
|
+AC_CONFIG_COMMANDS([svn_private_config.h.tmp],
|
|
+ [svn_cf=subversion/svn_private_config.h;
|
|
+ $SED -e "s/@SVN_DB_HEADER@/$SVN_DB_HEADER/" $svn_cf.tmp > $svn_cf.tmp.new
|
|
+ cmp -s $svn_cf.tmp.new $svn_cf || mv -f $svn_cf.tmp.new $svn_cf
|
|
+ rm -f $svn_cf.tmp.new $svn_cf.tmp],
|
|
+ [SED="$SED"
|
|
+ SVN_DB_HEADER="$SVN_DB_HEADER"])
|
|
+AC_CONFIG_FILES([Makefile])
|
|
+
|
|
+SVN_CONFIG_SCRIPT(tools/backup/hot-backup.py)
|
|
+SVN_CONFIG_SCRIPT(tools/hook-scripts/commit-access-control.pl)
|
|
+SVN_CONFIG_SCRIPT(subversion/bindings/swig/perl/native/Makefile.PL)
|
|
+if test -e packages/solaris/pkginfo.in; then
|
|
+ SVN_CONFIG_SCRIPT(packages/solaris/pkginfo)
|
|
+fi
|
|
+AC_SUBST(SVN_CONFIG_SCRIPT_FILES)
|
|
+
|
|
+# Ensure that SWIG is checked after reconfiguration.
|
|
+rm -f .swig_checked
|
|
+
|
|
+dnl Provide ${host} for use in compiled code (for svn --version)
|
|
+AC_DEFINE_UNQUOTED([SVN_BUILD_HOST], "${host}",
|
|
+ [Defined to the config.guess name of the build system])
|
|
+
|
|
+dnl Provide ${target} for use in compiled code (for user-agent string)
|
|
+AC_DEFINE_UNQUOTED([SVN_BUILD_TARGET], "${target}",
|
|
+ [Defined to the config.guess name of the build target])
|
|
+
|
|
+AC_OUTPUT
|
|
+
|
|
+# ==== Print final messages to user ==========================================
|
|
+
|
|
+dnl Configure is long - users tend to miss warnings printed during it.
|
|
+dnl Hence, print a warnings about what we did and didn't configure at the
|
|
+dnl end, where people will actually see them.
|
|
+
|
|
+if test "$svn_lib_berkeley_db" = "no" && test "$with_berkeley_db" != "no"; then
|
|
+ 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 a Makefile which will build
|
|
+Subversion without support for the Berkeley DB back-end. You can find the
|
|
+latest version of Berkeley DB here:
|
|
+
|
|
+ http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html
|
|
+
|
|
+or explicitly specify --without-berkeley-db to silence this warning.
|
|
+])
|
|
+fi
|