|  | 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) | 
|  | CUSERFLAGS="$CFLAGS" | 
|  | AC_PROG_CC | 
|  | SVN_CC_MODE_SETUP | 
|  |  | 
|  | # Look for a C++ compiler (before anything can set CXXFLAGS) | 
|  | 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\.1[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 | 
|  | db_alt_version="5.x" | 
|  | # 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]) | 
|  | case "$host" in | 
|  | *-*-darwin*) | 
|  | if test "$with_gnome_keyring" = "yes"; then | 
|  | AC_MSG_ERROR([--with-gnome-keyring is not supported on Mac OS X.]) | 
|  | else | 
|  | with_gnome_keyring=no | 
|  | fi | 
|  | ;; | 
|  | *) | 
|  | 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 | 
|  | ;; | 
|  | esac | 
|  | else | 
|  | AC_MSG_RESULT([no]) | 
|  | fi | 
|  | AC_SUBST(SVN_GNOME_KEYRING_INCLUDES) | 
|  | AC_SUBST(SVN_GNOME_KEYRING_LIBS) | 
|  |  | 
|  | dnl Googlemock ----------------- | 
|  | AC_ARG_ENABLE([gmock], | 
|  | AS_HELP_STRING([--disable-gmock], | 
|  | [Do not use the Googlemock testing framework]), | 
|  | [], | 
|  | [enable_gmock=yes]) | 
|  |  | 
|  | AC_SUBST([GMOCK_SRCDIR], [$abs_srcdir/gmock-fused]) | 
|  | AC_MSG_CHECKING([whether use Googlemock]) | 
|  | if test "$enable_gmock" != "no"; then | 
|  | if test -d "$GMOCK_SRCDIR"; then | 
|  | AC_MSG_RESULT([yes]) | 
|  | SVN_USE_GMOCK=true | 
|  | else | 
|  | AC_MSG_RESULT([no]) | 
|  | SVN_USE_GMOCK=false | 
|  | fi | 
|  | else | 
|  | AC_MSG_RESULT([no]) | 
|  | SVN_USE_GMOCK_SOURCES=false | 
|  | fi | 
|  | AC_SUBST([SVN_USE_GMOCK]) | 
|  |  | 
|  | 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 | 
|  |  | 
|  | /* compiler hints */ | 
|  | #if defined(__GNUC__) && (__GNUC__ >= 3) | 
|  | # define SVN__PREDICT_FALSE(x) (__builtin_expect(x, 0)) | 
|  | # define SVN__PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) | 
|  | #else | 
|  | # define SVN__PREDICT_FALSE(x) (x) | 
|  | # define SVN__PREDICT_TRUE(x) (x) | 
|  | #endif | 
|  |  | 
|  | #if defined(SVN_DEBUG) | 
|  | # define SVN__FORCE_INLINE | 
|  | # define SVN__PREVENT_INLINE | 
|  | #elif defined(__GNUC__) | 
|  | # define SVN__FORCE_INLINE __attribute__ ((always_inline)) | 
|  | # define SVN__PREVENT_INLINE __attribute__ ((noinline)) | 
|  | #else | 
|  | # define SVN__FORCE_INLINE | 
|  | # define SVN__PREVENT_INLINE | 
|  | #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 CFLAGS="-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]) | 
|  | SVN_CFLAGS_ADD_IFELSE([-Wno-string-plus-int]) | 
|  |  | 
|  | CMAINTAINERFLAGS="$CFLAGS" | 
|  | 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" | 
|  | 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]) | 
|  | 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]) | 
|  | 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 | 
|  |  | 
|  | dnl Dump the current compiler options | 
|  | AC_MSG_NOTICE([C compiler flags: $CFLAGS]) | 
|  | AC_MSG_NOTICE([    user-defined: $CUSERFLAGS]) | 
|  | AC_MSG_NOTICE([ maintainer-mode: $CMAINTAINERFLAGS]) | 
|  | AC_MSG_NOTICE([C++ compiler flags: $CXXFLAGS]) | 
|  | AC_MSG_NOTICE([      user-defined: $CXXUSERFLAGS]) | 
|  | AC_MSG_NOTICE([   maintainer-mode: $CXXMAINTAINERFLAGS]) | 
|  |  | 
|  | 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)" | 
|  |  | 
|  | AC_DEFINE(SVN_LIBSVN_FS_LINKS_FS_X, 1, | 
|  | [Defined if libsvn_fs should link against libsvn_fs_x]) | 
|  | svn_fs_lib_deps="$svn_fs_lib_deps \$(FS_X_DEPS)" | 
|  | svn_fs_lib_link="$svn_fs_lib_link \$(FS_X_LINK)" | 
|  | dnl  FSFS already installs fsmod | 
|  | dnl  svn_fs_lib_install_deps="$svn_fs_lib_install_deps install-fsmod-lib" | 
|  |  | 
|  | 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 | 
|  |  | 
|  | # Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well. | 
|  | SWIG_CPPFLAGS="$CPPFLAGS" | 
|  | SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-no-cpp-precomp ]) | 
|  | AC_SUBST([SWIG_CPPFLAGS]) | 
|  |  | 
|  | 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_have_berkeley_db" = "no6" && test "$enable_bdb6" != "no"; then | 
|  | AC_MSG_WARN([We have configured without BDB filesystem support | 
|  |  | 
|  |  | 
|  | Berkeley DB 6 was found, but not used.  Please re-run configure (see | 
|  | ./config.nice) with the '--enable-bdb6' flag to use it, | 
|  | or explicitly specify '--disable-bdb6' or '--without-berkeley-db' | 
|  | to silence this warning. | 
|  |  | 
|  | Please note that some versions of Berkeley DB 6+ are under the GNU Affero | 
|  | General Public License, version 3: | 
|  | https://oss.oracle.com/pipermail/bdb/2013-June/000056.html | 
|  |  | 
|  | The AGPL-3.0 licence may impose special requirements for making available | 
|  | source code of server-side software.  The text of the licence is: | 
|  | https://www.gnu.org/licenses/agpl-3.0.html | 
|  | http://opensource.org/licenses/AGPL-3.0 | 
|  |  | 
|  | The Berkeley DB backend to Subversion is deprecated; see | 
|  | http://subversion.apache.org/docs/release-notes/1.8#bdb-deprecated | 
|  |  | 
|  | The Subversion developers have not tested Subversion with Berkeley DB 6 for | 
|  | technical problems or bugs. | 
|  | ]) | 
|  | fi |