configure.ac revision 299742
1dnl Licensed to the Apache Software Foundation (ASF) under one 2dnl or more contributor license agreements. See the NOTICE file 3dnl distributed with this work for additional information 4dnl regarding copyright ownership. The ASF licenses this file 5dnl to you under the Apache License, Version 2.0 (the 6dnl "License"); you may not use this file except in compliance 7dnl with the License. You may obtain a copy of the License at 8dnl 9dnl http://www.apache.org/licenses/LICENSE-2.0 10dnl 11dnl Unless required by applicable law or agreed to in writing, 12dnl software distributed under the License is distributed on an 13dnl "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14dnl KIND, either express or implied. See the License for the 15dnl specific language governing permissions and limitations 16dnl under the License. 17 18dnl configure.ac: Autoconfiscation for Subversion 19dnl Process this file with autoconf to produce a configure script. 20 21AC_PREREQ(2.59) 22 23dnl Get the version of Subversion, using m4's esyscmd() command to do this 24dnl at m4-time, since AC_INIT() requires it then. 25AC_INIT([subversion], 26 [esyscmd(python build/getversion.py SVN subversion/include/svn_version.h)], 27 [http://subversion.apache.org/]) 28 29AC_CONFIG_SRCDIR(subversion/include/svn_types.h) 30AC_CONFIG_AUX_DIR([build]) 31 32AC_MSG_NOTICE([Configuring Subversion ]AC_PACKAGE_VERSION) 33 34AC_SUBST([abs_srcdir], ["`cd $srcdir && pwd`"]) 35AC_SUBST([abs_builddir], ["`pwd`"]) 36if test "$abs_srcdir" = "$abs_builddir"; then 37 canonicalized_srcdir="" 38else 39 canonicalized_srcdir="$srcdir/" 40fi 41AC_SUBST([canonicalized_srcdir]) 42 43SWIG_LDFLAGS="$LDFLAGS" 44AC_SUBST([SWIG_LDFLAGS]) 45 46# Generate config.nice early (before the arguments are munged) 47SVN_CONFIG_NICE(config.nice) 48 49# ==== Check for programs ==================================================== 50 51# Look for a C compiler (before anything can set CFLAGS) 52CUSERFLAGS="$CFLAGS" 53AC_PROG_CC 54SVN_CC_MODE_SETUP 55 56# Look for a C++ compiler (before anything can set CXXFLAGS) 57CXXUSERFLAGS="$CXXFLAGS" 58AC_PROG_CXX 59SVN_CXX_MODE_SETUP 60 61# Look for a C pre-processor 62AC_PROG_CPP 63 64# Look for a good sed 65# AC_PROG_SED was introduced in Autoconf 2.59b 66m4_ifdef([AC_PROG_SED], [AC_PROG_SED], [SED="${SED:-sed}"]) 67 68# Grab target_cpu, so we can use it in the Solaris pkginfo file 69AC_CANONICAL_TARGET 70 71# Look for an extended grep 72AC_PROG_EGREP 73 74AC_PROG_LN_S 75 76AC_PROG_INSTALL 77# If $INSTALL is relative path to our fallback install-sh, then convert 78# to an absolute path, as in some cases (e.g. Solaris VPATH build), libtool 79# may try to use it from a changed working directory. 80if test "$INSTALL" = "build/install-sh -c"; then 81 INSTALL="$abs_srcdir/$INSTALL" 82fi 83 84if test -z "$MKDIR"; then 85 MKDIR="$INSTALL -d" 86fi 87AC_SUBST([MKDIR]) 88 89# ==== Libraries, for which we may have source to build ====================== 90 91dnl verify apr version and set apr flags 92dnl These regular expressions should not contain "\(" and "\)". 93 94APR_VER_REGEXES=["1\.[3-9]\. 2\."] 95 96SVN_LIB_APR($APR_VER_REGEXES) 97 98if test `expr $apr_version : 2` -ne 0; then 99 dnl Bump the library so-version to 2 if using APR-2 100 dnl (Debian uses so-version 1 for APR-1-with-largefile) 101 svn_lib_ver=2 102 dnl APR-2 provides APRUTIL 103 apu_config=$apr_config 104 AC_SUBST(SVN_APRUTIL_INCLUDES) 105 AC_SUBST(SVN_APRUTIL_CONFIG, ["$apu_config"]) 106 AC_SUBST(SVN_APRUTIL_LIBS) 107 SVN_APR_MAJOR_VERSION=2 108else 109 svn_lib_ver=0 110 APU_VER_REGEXES=["1\.[3-9]\."] 111 SVN_LIB_APRUTIL($APU_VER_REGEXES) 112 SVN_APR_MAJOR_VERSION=1 113fi 114AC_SUBST(SVN_APR_MAJOR_VERSION) 115SVN_LT_SOVERSION="-version-info $svn_lib_ver" 116AC_SUBST(SVN_LT_SOVERSION) 117AC_DEFINE_UNQUOTED(SVN_SOVERSION, $svn_lib_ver, 118 [Subversion library major verson]) 119 120dnl Search for pkg-config 121AC_PATH_PROG(PKG_CONFIG, pkg-config) 122 123dnl Search for serf 124SVN_LIB_SERF(1,3,4) 125 126if test "$svn_lib_serf" = "yes"; then 127 AC_DEFINE([SVN_HAVE_SERF], 1, 128 [Defined if support for Serf is enabled]) 129fi 130 131dnl Search for apr_memcache (only affects fs_fs) 132SVN_LIB_APR_MEMCACHE 133 134if test "$svn_lib_apr_memcache" = "yes"; then 135 AC_DEFINE(SVN_HAVE_MEMCACHE, 1, 136 [Defined if apr_memcache (standalone or in apr-util) is present]) 137fi 138 139 140dnl Find Apache with a recent-enough magic module number 141SVN_FIND_APACHE(20051115) 142 143dnl Search for SQLite. If you change SQLITE_URL from a .zip to 144dnl something else also update build/ac-macros/sqlite.m4 to reflect 145dnl the correct command to unpack the downloaded file. 146SQLITE_MINIMUM_VER="3.7.12" 147SQLITE_RECOMMENDED_VER="3.7.15.1" 148SQLITE_URL="http://www.sqlite.org/sqlite-amalgamation-$(printf %d%02d%02d%02d $(echo ${SQLITE_RECOMMENDED_VER} | sed -e 's/\./ /g')).zip" 149 150SVN_LIB_SQLITE(${SQLITE_MINIMUM_VER}, ${SQLITE_RECOMMENDED_VER}, 151 ${SQLITE_URL}) 152 153AC_ARG_ENABLE(sqlite-compatibility-version, 154 AS_HELP_STRING([--enable-sqlite-compatibility-version=X.Y.Z], 155 [Allow binary to run against SQLite as old as ARG]), 156 [sqlite_compat_ver=$enableval],[sqlite_compat_ver=no]) 157 158if test -n "$sqlite_compat_ver" && test "$sqlite_compat_ver" != no; then 159 SVN_SQLITE_VERNUM_PARSE([$sqlite_compat_ver], 160 [sqlite_compat_ver_num]) 161 CFLAGS="-DSVN_SQLITE_MIN_VERSION='\"$sqlite_compat_ver\"' $CFLAGS" 162 CFLAGS="-DSVN_SQLITE_MIN_VERSION_NUMBER=$sqlite_compat_ver_num $CFLAGS" 163fi 164 165SVN_CHECK_FOR_ATOMIC_BUILTINS 166if test "$svn_cv_atomic_builtins" = "yes"; then 167 AC_DEFINE(SVN_HAS_ATOMIC_BUILTINS, 1, [Define if compiler provides atomic builtins]) 168fi 169 170dnl Set up a number of directories --------------------- 171 172dnl Create SVN_BINDIR for proper substitution 173if test "${bindir}" = '${exec_prefix}/bin'; then 174 if test "${exec_prefix}" = "NONE"; then 175 if test "${prefix}" = "NONE"; then 176 SVN_BINDIR="${ac_default_prefix}/bin" 177 else 178 SVN_BINDIR="${prefix}/bin" 179 fi 180 else 181 SVN_BINDIR="${exec_prefix}/bin" 182 fi 183else 184 SVN_BINDIR="${bindir}" 185fi 186 187dnl fully evaluate this value. when we substitute it into our tool scripts, 188dnl they will not have things such as ${bindir} available 189SVN_BINDIR="`eval echo ${SVN_BINDIR}`" 190AC_SUBST(SVN_BINDIR) 191 192dnl provide ${bindir} in svn_private_config.h for use in compiled code 193AC_DEFINE_UNQUOTED(SVN_BINDIR, "${SVN_BINDIR}", 194 [Defined to be the path to the installed binaries]) 195 196dnl This purposely does *not* allow for multiple parallel installs. 197dnl However, it is compatible with most gettext usages. 198localedir='${datadir}/locale' 199AC_SUBST(localedir) 200 201dnl For SVN_LOCALE_DIR, we have to expand it to something. See SVN_BINDIR. 202if test "${datadir}" = '${prefix}/share' && test "${prefix}" = "NONE"; then 203 exp_localedir='${ac_default_prefix}/share/locale' 204else 205 exp_localedir=$localedir 206fi 207SVN_EXPAND_VAR(svn_localedir, "${exp_localedir}") 208AC_DEFINE_UNQUOTED(SVN_LOCALE_DIR, "${svn_localedir}", 209 [Defined to be the path to the installed locale dirs]) 210 211dnl Check for libtool -- we'll definitely need it for all our shared libs! 212AC_MSG_NOTICE([configuring libtool now]) 213ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL]) 214AC_ARG_ENABLE(experimental-libtool, 215 AS_HELP_STRING([--enable-experimental-libtool],[Use APR's libtool]), 216 [experimental_libtool=$enableval],[experimental_libtool=no]) 217 218if test "$experimental_libtool" = "yes"; then 219 echo "using APR's libtool" 220 sh_libtool="`$apr_config --apr-libtool`" 221 LIBTOOL="$sh_libtool" 222 SVN_LIBTOOL="$sh_libtool" 223else 224 sh_libtool="$abs_builddir/libtool" 225 SVN_LIBTOOL="\$(SHELL) \"$sh_libtool\"" 226fi 227AC_SUBST(SVN_LIBTOOL) 228 229dnl Determine the libtool version 230changequote(, )dnl 231lt_pversion=`$LIBTOOL --version 2>/dev/null|$SED -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'` 232lt_version=`echo $lt_pversion|$SED -e 's/\([a-z]*\)$/.\1/'` 233lt_major_version=`echo $lt_version | cut -d'.' -f 1` 234changequote([, ])dnl 235 236dnl set the default parameters 237svn_enable_static=yes 238svn_enable_shared=yes 239 240dnl check for --enable-static option 241AC_ARG_ENABLE(static, 242 AS_HELP_STRING([--enable-static], 243 [Build static libraries]), 244 [svn_enable_static="$enableval"], [svn_enable_static="yes"]) 245 246dnl check for --enable-shared option 247AC_ARG_ENABLE(shared, 248 AS_HELP_STRING([--enable-shared], 249 [Build shared libraries]), 250 [svn_enable_shared="$enableval"], [svn_enable_shared="yes"]) 251 252if test "$svn_enable_static" = "yes" && test "$svn_enable_shared" = "yes" ; then 253 AC_MSG_NOTICE([building both shared and static libraries]) 254elif test "$svn_enable_static" = "yes" ; then 255 AC_MSG_NOTICE([building static libraries only]) 256 LT_CFLAGS="-static $LT_CFLAGS" 257 LT_LDFLAGS="-static $LT_LDFLAGS" 258elif test "$svn_enable_shared" = "yes" ; then 259 AC_MSG_NOTICE([building shared libraries only]) 260 if test "$lt_major_version" = "1" ; then 261 LT_CFLAGS="-prefer-pic $LT_CFLAGS" 262 elif test "$lt_major_version" = "2" ; then 263 LT_CFLAGS="-shared $LT_CFLAGS" 264 fi 265 LT_LDFLAGS="-shared $LT_LDFLAGS" 266else 267 AC_MSG_ERROR([cannot disable both shared and static libraries]) 268fi 269 270dnl Check for --enable-all-static option 271AC_ARG_ENABLE(all-static, 272 AS_HELP_STRING([--enable-all-static], 273 [Build completely static (standalone) binaries.]), 274 [ 275 if test "$enableval" = "yes" ; then 276 LT_LDFLAGS="-all-static $LT_LDFLAGS" 277 elif test "$enableval" != "no" ; then 278 AC_MSG_ERROR([--enable-all-static doesn't accept argument]) 279 fi 280]) 281 282AC_SUBST(LT_CFLAGS) 283AC_SUBST(LT_LDFLAGS) 284 285AC_ARG_ENABLE(local-library-preloading, 286 AS_HELP_STRING([--enable-local-library-preloading], 287 [Enable preloading of locally built libraries in locally 288 built executables. This may be necessary for testing 289 prior to installation on some platforms. It does not 290 work on some platforms (Darwin, OpenBSD, ...).]), 291 [ 292 if test "$enableval" != "no"; then 293 if test "$svn_enable_shared" = "yes"; then 294 TRANSFORM_LIBTOOL_SCRIPTS="transform-libtool-scripts" 295 else 296 AC_MSG_ERROR([--enable-local-library-preloading conflicts with --disable-shared]) 297 fi 298 else 299 TRANSFORM_LIBTOOL_SCRIPTS="" 300 fi 301 ], [ 302 TRANSFORM_LIBTOOL_SCRIPTS="" 303]) 304AC_SUBST(TRANSFORM_LIBTOOL_SCRIPTS) 305 306dnl Check if -no-undefined is needed for the platform. 307dnl It should always work but with libtool 1.4.3 on OS X it breaks the build. 308dnl So we only turn it on for platforms where we know we really need it. 309AC_MSG_CHECKING([whether libtool needs -no-undefined]) 310case $host in 311 *-*-cygwin*) 312 AC_MSG_RESULT([yes]) 313 LT_NO_UNDEFINED="-no-undefined" 314 ;; 315 *) 316 AC_MSG_RESULT([no]) 317 LT_NO_UNDEFINED="" 318 ;; 319esac 320AC_SUBST(LT_NO_UNDEFINED) 321 322dnl Check for trang. 323trang=yes 324AC_ARG_WITH(trang, 325AS_HELP_STRING([--with-trang=PATH], 326 [Specify the command to run the trang schema converter]), 327[ 328 trang="$withval" 329]) 330if test "$trang" = "yes"; then 331 AC_PATH_PROG(TRANG, trang, none) 332else 333 TRANG="$trang" 334 AC_SUBST(TRANG) 335fi 336 337dnl Check for doxygen 338doxygen=yes 339AC_ARG_WITH(doxygen, 340AC_HELP_STRING([--with-doxygen=PATH], 341 [Specify the command to run doxygen]), 342[ 343 doxygen="$withval" 344]) 345if test "$doxygen" = "yes"; then 346 AC_PATH_PROG(DOXYGEN, doxygen, none) 347else 348 DOXYGEN="$doxygen" 349 AC_SUBST(DOXYGEN) 350fi 351 352 353dnl Check for libraries -------------------- 354 355dnl Expat ------------------- 356 357AC_ARG_WITH(expat, 358 AS_HELP_STRING([--with-expat=INCLUDES:LIB_SEARCH_DIRS:LIBS], 359 [Specify location of Expat]), 360 [svn_lib_expat="$withval"], 361 [svn_lib_expat="::expat"]) 362 363# APR-util accepts "builtin" as an argument to this option so if the user 364# passed "builtin" pretend the user didn't specify the --with-expat option 365# at all. Expat will (hopefully) be found in apr-util. 366test "_$svn_lib_expat" = "_builtin" && svn_lib_expat="::expat" 367 368AC_MSG_CHECKING([for Expat]) 369if test -n "`echo "$svn_lib_expat" | $EGREP ":.*:"`"; then 370 SVN_XML_INCLUDES="" 371 for i in [`echo "$svn_lib_expat" | $SED -e "s/\([^:]*\):.*/\1/"`]; do 372 SVN_XML_INCLUDES="$SVN_XML_INCLUDES -I$i" 373 done 374 SVN_XML_INCLUDES="${SVN_XML_INCLUDES## }" 375 for l in [`echo "$svn_lib_expat" | $SED -e "s/.*:\([^:]*\):.*/\1/"`]; do 376 LDFLAGS="$LDFLAGS -L$l" 377 done 378 for l in [`echo "$svn_lib_expat" | $SED -e "s/.*:\([^:]*\)/\1/"`]; do 379 SVN_XML_LIBS="$SVN_XML_LIBS -l$l" 380 done 381 SVN_XML_LIBS="${SVN_XML_LIBS## }" 382 old_CPPFLAGS="$CPPFLAGS" 383 old_LIBS="$LIBS" 384 CPPFLAGS="$CPPFLAGS $SVN_XML_INCLUDES" 385 LIBS="$LIBS $SVN_XML_LIBS" 386 AC_LINK_IFELSE([AC_LANG_SOURCE([[ 387#include <expat.h> 388int main() 389{XML_ParserCreate(NULL);}]])], svn_lib_expat="yes", svn_lib_expat="no") 390 LIBS="$old_LIBS" 391 if test "$svn_lib_expat" = "yes"; then 392 AC_MSG_RESULT([yes]) 393 else 394 SVN_XML_INCLUDES="" 395 SVN_XML_LIBS="" 396 CPPFLAGS="$CPPFLAGS $SVN_APRUTIL_INCLUDES" 397 if test "$enable_all_static" != "yes"; then 398 SVN_APRUTIL_LIBS="$SVN_APRUTIL_LIBS `$apu_config --libs`" 399 fi 400 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 401#include <expat.h> 402int main() 403{XML_ParserCreate(NULL);}]])], svn_lib_expat="yes", svn_lib_expat="no") 404 if test "$svn_lib_expat" = "yes"; then 405 AC_MSG_RESULT([yes]) 406 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.]) 407 else 408 AC_MSG_RESULT([no]) 409 AC_MSG_ERROR([Expat not found]) 410 fi 411 fi 412 CPPFLAGS="$old_CPPFLAGS" 413else 414 AC_MSG_RESULT([no]) 415 if test "$svn_lib_expat" = "yes"; then 416 AC_MSG_ERROR([--with-expat option requires argument]) 417 elif test "$svn_lib_expat" = "no"; then 418 AC_MSG_ERROR([Expat is required]) 419 else 420 AC_MSG_ERROR([Invalid syntax of argument of --with-expat option]) 421 fi 422fi 423AC_SUBST(SVN_XML_INCLUDES) 424AC_SUBST(SVN_XML_LIBS) 425 426dnl Berkeley DB ------------------- 427 428# Berkeley DB on SCO OpenServer needs -lsocket 429AC_CHECK_LIB(socket, socket) 430 431# Build the BDB filesystem library only if we have an appropriate 432# version of Berkeley DB. 433case "$host" in 434powerpc-apple-darwin*) 435 # Berkeley DB 4.0 does not work on OS X. 436 SVN_FS_WANT_DB_MAJOR=4 437 SVN_FS_WANT_DB_MINOR=1 438 SVN_FS_WANT_DB_PATCH=25 439 ;; 440*) 441 SVN_FS_WANT_DB_MAJOR=4 442 SVN_FS_WANT_DB_MINOR=0 443 SVN_FS_WANT_DB_PATCH=14 444 ;; 445esac 446db_alt_version="5.x" 447# Look for libdb4.so first: 448SVN_LIB_BERKELEY_DB($SVN_FS_WANT_DB_MAJOR, $SVN_FS_WANT_DB_MINOR, 449 $SVN_FS_WANT_DB_PATCH, [db4 db]) 450 451AC_DEFINE_UNQUOTED(SVN_FS_WANT_DB_MAJOR, $SVN_FS_WANT_DB_MAJOR, 452 [The desired major version for the Berkeley DB]) 453AC_DEFINE_UNQUOTED(SVN_FS_WANT_DB_MINOR, $SVN_FS_WANT_DB_MINOR, 454 [The desired minor version for the Berkeley DB]) 455AC_DEFINE_UNQUOTED(SVN_FS_WANT_DB_PATCH, $SVN_FS_WANT_DB_PATCH, 456 [The desired patch version for the Berkeley DB]) 457 458AC_SUBST(SVN_DB_INCLUDES) 459AC_SUBST(SVN_DB_LIBS) 460 461SVN_LIB_SASL 462 463if test "$svn_lib_sasl" = "yes"; then 464 AC_DEFINE(SVN_HAVE_SASL, 1, 465 [Defined if Cyrus SASL v2 is present on the system]) 466fi 467 468dnl Mac OS specific features ------------------- 469 470SVN_LIB_MACHO_ITERATE 471SVN_LIB_MACOS_PLIST 472SVN_LIB_MACOS_KEYCHAIN 473 474dnl APR_HAS_DSO ------------------- 475 476AC_MSG_CHECKING([whether APR has support for DSOs]) 477old_CPPFLAGS="$CPPFLAGS" 478CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES" 479AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ 480#include <apr.h> 481#if !APR_HAS_DSO 482#error 483#endif]])], 484 APR_HAS_DSO="yes" 485 AC_MSG_RESULT([yes]), 486 APR_HAS_DSO="no" 487 AC_MSG_RESULT([no])) 488CPPFLAGS="$old_CPPFLAGS" 489 490 491dnl D-Bus (required for support for KWallet) ------------------- 492 493if test -n "$PKG_CONFIG"; then 494 AC_MSG_CHECKING([for D-Bus .pc file]) 495 if $PKG_CONFIG --exists dbus-1; then 496 AC_MSG_RESULT([yes]) 497 old_CPPFLAGS="$CPPFLAGS" 498 old_LIBS="$LIBS" 499 DBUS_CPPFLAGS="`$PKG_CONFIG --cflags dbus-1`" 500 AC_MSG_CHECKING([D-Bus version]) 501 DBUS_VERSION="`$PKG_CONFIG --modversion dbus-1`" 502 AC_MSG_RESULT([$DBUS_VERSION]) 503 # D-Bus 0.* requires DBUS_API_SUBJECT_TO_CHANGE 504 if test -n ["`echo "$DBUS_VERSION" | $EGREP '^0\.[[:digit:]]+'`"]; then 505 DBUS_CPPFLAGS="$DBUS_CPPFLAGS -DDBUS_API_SUBJECT_TO_CHANGE" 506 fi 507 DBUS_LIBS="`$PKG_CONFIG --libs dbus-1`" 508 CPPFLAGS="$CPPFLAGS $DBUS_CPPFLAGS" 509 LIBS="$LIBS $DBUS_LIBS" 510 AC_MSG_CHECKING([for D-Bus]) 511 AC_LINK_IFELSE([AC_LANG_SOURCE([[ 512#include <dbus/dbus.h> 513int main() 514{dbus_bus_get(DBUS_BUS_SESSION, NULL);}]])], HAVE_DBUS="yes", HAVE_DBUS="no") 515 if test "$HAVE_DBUS" = "yes"; then 516 AC_MSG_RESULT([yes]) 517 else 518 AC_MSG_RESULT([no]) 519 fi 520 CPPFLAGS="$old_CPPFLAGS" 521 LIBS="$old_LIBS" 522 else 523 AC_MSG_RESULT([no]) 524 fi 525fi 526 527dnl GPG Agent ------------------- 528 529AC_ARG_WITH(gpg_agent, 530AS_HELP_STRING([--without-gpg-agent], 531 [Disable support for GPG-Agent]), 532 [], [with_gpg_agent=yes]) 533AC_MSG_CHECKING([whether to support GPG-Agent]) 534if test "$with_gpg_agent" = "yes"; then 535 AC_MSG_RESULT([yes]) 536 AC_DEFINE([SVN_HAVE_GPG_AGENT], [1], 537 [Is GPG Agent support enabled?]) 538else 539 AC_MSG_RESULT([no]) 540fi 541 542AC_SUBST(SVN_HAVE_GPG_AGENT) 543 544dnl GNOME Keyring ------------------- 545 546AC_ARG_WITH(gnome_keyring, 547 AS_HELP_STRING([--with-gnome-keyring], 548 [Enable use of GNOME Keyring for auth credentials (enabled by default if found)]), 549 [with_gnome_keyring="$withval"], 550 [with_gnome_keyring=auto]) 551 552found_gnome_keyring=no 553AC_MSG_CHECKING([whether to look for GNOME Keyring]) 554if test "$with_gnome_keyring" != "no"; then 555 AC_MSG_RESULT([yes]) 556 case "$host" in 557 *-*-darwin*) 558 if test "$with_gnome_keyring" = "yes"; then 559 AC_MSG_ERROR([--with-gnome-keyring is not supported on Mac OS X.]) 560 else 561 with_gnome_keyring=no 562 fi 563 ;; 564 *) 565 if test "$svn_enable_shared" = "yes"; then 566 if test "$APR_HAS_DSO" = "yes"; then 567 if test -n "$PKG_CONFIG"; then 568 AC_MSG_CHECKING([for GLib and GNOME Keyring .pc files]) 569 if $PKG_CONFIG --exists glib-2.0 gnome-keyring-1; then 570 AC_MSG_RESULT([yes]) 571 old_CPPFLAGS="$CPPFLAGS" 572 SVN_GNOME_KEYRING_INCLUDES="`$PKG_CONFIG --cflags glib-2.0 gnome-keyring-1`" 573 CPPFLAGS="$CPPFLAGS $SVN_GNOME_KEYRING_INCLUDES" 574 AC_CHECK_HEADER(gnome-keyring.h, found_gnome_keyring=yes, found_gnome_keyring=no) 575 AC_MSG_CHECKING([for GNOME Keyring]) 576 if test "$found_gnome_keyring" = "yes"; then 577 AC_MSG_RESULT([yes]) 578 AC_DEFINE([SVN_HAVE_GNOME_KEYRING], [1], 579 [Is GNOME Keyring support enabled?]) 580 CPPFLAGS="$old_CPPFLAGS" 581 SVN_GNOME_KEYRING_LIBS="`$PKG_CONFIG --libs glib-2.0 gnome-keyring-1`" 582 else 583 AC_MSG_RESULT([no]) 584 if test "$with_gnome_keyring" = "yes"; then 585 AC_MSG_ERROR([cannot find GNOME Keyring]) 586 fi 587 fi 588 else 589 AC_MSG_RESULT([no]) 590 if test "$with_gnome_keyring" = "yes"; then 591 AC_MSG_ERROR([cannot find GLib and GNOME Keyring .pc files.]) 592 else 593 with_gnome_keyring=no 594 fi 595 fi 596 else 597 if test "$with_gnome_keyring" = "yes"; then 598 AC_MSG_ERROR([cannot find pkg-config. GNOME Keyring requires this.]) 599 else 600 with_gnome_keyring=no 601 fi 602 fi 603 else 604 if test "$with_gnome_keyring" = "yes"; then 605 AC_MSG_ERROR([APR does not have support for DSOs. GNOME Keyring requires this.]) 606 else 607 with_gnome_keyring=no 608 fi 609 fi 610 else 611 if test "$with_gnome_keyring" = "yes"; then 612 AC_MSG_ERROR([--with-gnome-keyring conflicts with --disable-shared]) 613 else 614 with_gnome_keyring=no 615 fi 616 fi 617 ;; 618 esac 619else 620 AC_MSG_RESULT([no]) 621fi 622AC_SUBST(SVN_GNOME_KEYRING_INCLUDES) 623AC_SUBST(SVN_GNOME_KEYRING_LIBS) 624 625dnl Googlemock ----------------- 626AC_ARG_ENABLE([gmock], 627 AS_HELP_STRING([--disable-gmock], 628 [Do not use the Googlemock testing framework]), 629 [], 630 [enable_gmock=yes]) 631 632AC_SUBST([GMOCK_SRCDIR], [$abs_srcdir/gmock-fused]) 633AC_MSG_CHECKING([whether use Googlemock]) 634if test "$enable_gmock" != "no"; then 635 if test -d "$GMOCK_SRCDIR"; then 636 AC_MSG_RESULT([yes]) 637 SVN_USE_GMOCK=true 638 else 639 AC_MSG_RESULT([no]) 640 SVN_USE_GMOCK=false 641 fi 642else 643 AC_MSG_RESULT([no]) 644 SVN_USE_GMOCK_SOURCES=false 645fi 646AC_SUBST([SVN_USE_GMOCK]) 647 648dnl Ev2 experimental features ---------------------- 649dnl Note: The Ev2 implementations will be built unconditionally, but by 650dnl providing this flag, users can choose to use the currently-shimmed Ev2 651dnl editor implementations for various operations. This will probably 652dnl negatively impact performance, but is useful for testing. 653AC_ARG_ENABLE(ev2-impl, 654 AS_HELP_STRING([--enable-ev2-impl], 655 [Use Ev2 implementations, where available [EXPERIMENTAL]]), 656 [enable_ev2_impl=$enableval],[enable_ev2_impl=no]) 657if test "$enable_ev2_impl" = "yes"; then 658 AC_DEFINE(ENABLE_EV2_IMPL, 1, 659 [Define to 1 if Ev2 implementations should be used.]) 660fi 661 662 663dnl I18n ------------------- 664 665AC_ARG_ENABLE(nls, 666 AS_HELP_STRING([--disable-nls],[Disable gettext functionality]), 667 [enable_nls=$enableval],[enable_nls=yes]) 668 669USE_NLS="no" 670SVN_INTL_LIBS="" 671if test "$enable_nls" = "yes"; then 672 dnl First, check to see if there is a working msgfmt. 673 AC_PATH_PROG(MSGFMT, msgfmt, none) 674 AC_PATH_PROG(MSGMERGE, msgmerge, none) 675 AC_PATH_PROG(XGETTEXT, xgettext, none) 676 if test "$MSGFMT" != "none"; then 677 AC_SEARCH_LIBS(bindtextdomain, [intl], 678 [ 679 # in case libintl needs to be linked explicitly, 680 # $ac_cv_search_bindtextdomain contains -l linker flags 681 if echo "$ac_cv_search_bindtextdomain" | grep '^-l' >/dev/null 682 then 683 SVN_INTL_LIBS="$ac_cv_search_bindtextdomain" 684 fi 685 ], 686 [ 687 enable_nls="no" 688 ]) 689 if test "$enable_nls" = "no"; then 690 # Destroy the cached result so we can test again 691 unset ac_cv_search_bindtextdomain 692 # On some systems, libintl needs libiconv to link properly, 693 # so try again with -liconv. 694 AC_SEARCH_LIBS(bindtextdomain, [intl], 695 [ 696 enable_nls="yes" 697 if echo "$ac_cv_search_bindtextdomain" | grep '^-l' >/dev/null 698 then 699 SVN_INTL_LIBS="$ac_cv_search_bindtextdomain" 700 fi 701 # This is here so that -liconv ends up in LIBS 702 # if it worked with -liconv. 703 AC_CHECK_LIB(iconv, libiconv_open) 704 ], 705 [ 706 AC_MSG_WARN([bindtextdomain() not found. Disabling NLS.]) 707 enable_nls="no" 708 ], -liconv) 709 fi 710 if test "$enable_nls" = "yes"; then 711 AC_DEFINE(ENABLE_NLS, 1, 712 [Define to 1 if translation of program messages to the user's 713 native language is requested.]) 714 USE_NLS="yes" 715 fi 716 fi 717fi 718 719AC_SUBST(SVN_INTL_LIBS) 720 721AH_BOTTOM([ 722/* Indicate to translators that string X should be translated. Do not look 723 up the translation at run time; just expand to X. This macro is suitable 724 for use where a constant string is required at compile time. */ 725#define N_(x) x 726/* Indicate to translators that we have decided the string X should not be 727 translated. Expand to X. */ 728#define U_(x) x 729#ifdef ENABLE_NLS 730#include <locale.h> 731#include <libintl.h> 732/* Indicate to translators that string X should be translated. At run time, 733 look up and return the translation of X. */ 734#define _(x) dgettext(PACKAGE_NAME, x) 735/* Indicate to translators that strings X1 and X2 are singular and plural 736 forms of the same message, and should be translated. At run time, return 737 an appropriate translation depending on the number N. */ 738#define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n) 739#else 740#define _(x) (x) 741#define Q_(x1, x2, n) (((n) == 1) ? x1 : x2) 742#define gettext(x) (x) 743#define dgettext(domain, x) (x) 744#endif 745 746/* compiler hints */ 747#if defined(__GNUC__) && (__GNUC__ >= 3) 748# define SVN__PREDICT_FALSE(x) (__builtin_expect(x, 0)) 749# define SVN__PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) 750#else 751# define SVN__PREDICT_FALSE(x) (x) 752# define SVN__PREDICT_TRUE(x) (x) 753#endif 754 755#if defined(SVN_DEBUG) 756# define SVN__FORCE_INLINE 757# define SVN__PREVENT_INLINE 758#elif defined(__GNUC__) 759# define SVN__FORCE_INLINE APR_INLINE __attribute__ ((always_inline)) 760# define SVN__PREVENT_INLINE __attribute__ ((noinline)) 761#else 762# define SVN__FORCE_INLINE APR_INLINE 763# define SVN__PREVENT_INLINE 764#endif 765 766/* Macro used to specify that a variable is intentionally left unused. 767 Supresses compiler warnings about the variable being unused. */ 768#define SVN_UNUSED(v) ( (void)(v) ) 769]) 770 771dnl Used to simulate makefile conditionals. 772GETTEXT_CODESET=\# 773NO_GETTEXT_CODESET=\# 774if test $USE_NLS = "yes"; then 775 AC_CHECK_FUNCS(bind_textdomain_codeset, 776 [ GETTEXT_CODESET="" ], 777 [ NO_GETTEXT_CODESET="" ]) 778fi 779AC_SUBST(GETTEXT_CODESET) 780AC_SUBST(NO_GETTEXT_CODESET) 781 782# Check if we are using GNU gettext. 783GNU_GETTEXT=no 784MSGFMTFLAGS='' 785if test $USE_NLS = "yes"; then 786 AC_MSG_CHECKING(if we are using GNU gettext) 787 if $MSGFMT --version 2>&1 | $EGREP GNU > /dev/null; then 788 GNU_GETTEXT=yes 789 MSGFMTFLAGS='-c' 790 fi 791 AC_MSG_RESULT($GNU_GETTEXT) 792fi 793AC_SUBST(MSGFMTFLAGS) 794 795dnl libmagic ------------------- 796 797libmagic_found=no 798 799AC_ARG_WITH(libmagic,AS_HELP_STRING([--with-libmagic=PREFIX], 800 [libmagic filetype detection library]), 801[ 802 if test "$withval" = "yes" ; then 803 AC_CHECK_HEADER(magic.h, [ 804 AC_CHECK_LIB(magic, magic_open, [libmagic_found="builtin"]) 805 ]) 806 libmagic_prefix="the default locations" 807 elif test "$withval" != "no"; then 808 libmagic_prefix=$withval 809 save_cppflags="$CPPFLAGS" 810 CPPFLAGS="$CPPFLAGS -I$libmagic_prefix/include" 811 AC_CHECK_HEADERS(magic.h,[ 812 save_ldflags="$LDFLAGS" 813 LDFLAGS="-L$libmagic_prefix/lib $LDFLAGS" 814 AC_CHECK_LIB(magic, magic_open, [libmagic_found="yes"]) 815 LDFLAGS="$save_ldflags" 816 ]) 817 CPPFLAGS="$save_cppflags" 818 fi 819 if test "$withval" != "no" && test "$libmagic_found" = "no"; then 820 AC_MSG_ERROR([[--with-libmagic requested, but libmagic not found at $libmagic_prefix]]) 821 fi 822], 823[ 824 AC_CHECK_HEADER(magic.h, [ 825 AC_CHECK_LIB(magic, magic_open, [libmagic_found="builtin"]) 826 ]) 827]) 828 829if test "$libmagic_found" != "no"; then 830 AC_DEFINE([SVN_HAVE_LIBMAGIC], [1], [Defined if libmagic support is enabled]) 831 SVN_MAGIC_LIBS="-lmagic" 832fi 833 834if test "$libmagic_found" = "yes"; then 835 SVN_MAGIC_INCLUDES="-I$libmagic_prefix/include" 836 LDFLAGS="$LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS(-L$libmagic_prefix/lib)`" 837fi 838 839AC_SUBST(SVN_MAGIC_INCLUDES) 840AC_SUBST(SVN_MAGIC_LIBS) 841 842dnl KWallet ------------------- 843SVN_LIB_KWALLET 844 845if test "$svn_lib_kwallet" = "yes"; then 846 AC_DEFINE([SVN_HAVE_KWALLET], 1, 847 [Defined if KWallet support is enabled]) 848fi 849 850dnl plaintext passwords ------------------- 851AC_ARG_ENABLE(plaintext-password-storage, 852AS_HELP_STRING([--disable-plaintext-password-storage], 853 [Disable on-disk caching of plaintext passwords and passphrases. 854 (Leaving this functionality enabled will not force Subversion 855 to store passwords in plaintext, but does permit users to 856 explicitly allow that behavior via runtime configuration.)]), 857[ 858 if test "$enableval" = "no"; then 859 AC_MSG_NOTICE([Disabling plaintext password/passphrase storage]) 860 AC_DEFINE(SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE, 1, 861 [Defined if plaintext password/passphrase storage is disabled]) 862 fi 863]) 864 865dnl Build and install rules ------------------- 866 867INSTALL_STATIC_RULES="install-bin install-docs" 868INSTALL_RULES="install-fsmod-lib install-ramod-lib install-lib install-include install-static" 869INSTALL_RULES="$INSTALL_RULES $INSTALL_APACHE_RULE" 870BUILD_RULES="fsmod-lib ramod-lib lib bin test sub-test $BUILD_APACHE_RULE tools" 871 872if test "$svn_lib_berkeley_db" = "yes"; then 873 BUILD_RULES="$BUILD_RULES bdb-lib bdb-test" 874 INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-fsmod-lib/install-fsmod-lib install-bdb-lib/'`" 875 INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-bdb-lib" 876 BDB_TEST_DEPS="\$(BDB_TEST_DEPS)" 877 BDB_TEST_PROGRAMS="\$(BDB_TEST_PROGRAMS)" 878fi 879 880if test "$svn_lib_serf" = "yes"; then 881 BUILD_RULES="$BUILD_RULES serf-lib" 882 INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-ramod-lib/install-ramod-lib install-serf-lib/'`" 883 INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-serf-lib" 884fi 885 886if test "$svn_lib_kwallet" = "yes"; then 887 BUILD_RULES="$BUILD_RULES kwallet-lib" 888 INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-lib/install-lib install-kwallet-lib/'`" 889 INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-kwallet-lib" 890fi 891 892if test "$found_gnome_keyring" = "yes"; then 893 BUILD_RULES="$BUILD_RULES gnome-keyring-lib" 894 INSTALL_RULES="`echo $INSTALL_RULES | $SED 's/install-lib/install-lib install-gnome-keyring-lib/'`" 895 INSTALL_STATIC_RULES="$INSTALL_STATIC_RULES install-gnome-keyring-lib" 896fi 897 898if test "$USE_NLS" = "yes"; then 899 BUILD_RULES="$BUILD_RULES locale" 900 INSTALL_RULES="$INSTALL_RULES install-locale" 901fi 902 903AC_SUBST(BUILD_RULES) 904AC_SUBST(INSTALL_STATIC_RULES) 905AC_SUBST(INSTALL_RULES) 906AC_SUBST(BDB_TEST_DEPS) 907AC_SUBST(BDB_TEST_PROGRAMS) 908 909dnl Check for header files ---------------- 910 911dnl Standard C headers 912AC_HEADER_STDC 913 914dnl Check for typedefs, structures, and compiler characteristics ---------- 915 916dnl if compiler doesn't understand `const', then define it empty 917AC_C_CONST 918 919dnl if non-existent, define size_t to be `unsigned' 920AC_TYPE_SIZE_T 921 922 923dnl Check for library functions ---------- 924 925AC_FUNC_MEMCMP 926 927dnl svn_error's default warning handler uses vfprintf() 928AC_FUNC_VPRINTF 929 930dnl check for functions needed in special file handling 931AC_CHECK_FUNCS(symlink readlink) 932 933dnl check for uname 934AC_CHECK_HEADERS(sys/utsname.h, [AC_CHECK_FUNCS(uname)], []) 935 936dnl check for termios 937AC_CHECK_HEADER(termios.h,[ 938 AC_CHECK_FUNCS(tcgetattr tcsetattr,[ 939 AC_DEFINE(HAVE_TERMIOS_H,1,[Defined if we have a usable termios library.]) 940 ]) 941]) 942 943dnl Process some configuration options ---------- 944 945AC_ARG_ENABLE(debug, 946AS_HELP_STRING([--enable-debug], 947 [Turn on debugging]), 948[ 949 if test "$enableval" = "yes" ; then 950 enable_debugging="yes" 951 else 952 enable_debugging="no" 953 fi 954], 955[ 956 # Neither --enable-debug nor --disable-debug was passed. 957 enable_debugging="maybe" 958]) 959 960AC_ARG_ENABLE(optimize, 961AS_HELP_STRING([--enable-optimize], 962 [Turn on optimizations]), 963[ 964 if test "$enableval" = "yes" ; then 965 enable_optimization="yes" 966 else 967 enable_optimization="no" 968 fi 969], 970[ 971 # Neither --enable-optimize nor --disable-optimize was passed. 972 enable_optimization="maybe" 973]) 974 975dnl Use -Wl,--no-undefined during linking of some libraries 976AC_ARG_ENABLE(disallowing-of-undefined-references, 977 [AS_HELP_STRING([--enable-disallowing-of-undefined-references], 978 [Use -Wl,--no-undefined flag during linking of some libraries to disallow undefined references])]) 979if test "$enable_disallowing_of_undefined_references" != "yes" && test "`uname`" != "Linux"; then 980 enable_disallowing_of_undefined_references="no" 981fi 982if test "$enable_disallowing_of_undefined_references" != "no"; then 983 AC_MSG_CHECKING([for -Wl,--no-undefined]) 984 old_LDFLAGS="$LDFLAGS" 985 LDFLAGS="$LDFLAGS -Wl,--no-undefined" 986 AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(){;}]])], [svn_wl_no_undefined="yes"], [svn_wl_no_undefined="no"]) 987 LDFLAGS="$old_LDFLAGS" 988 if test "$svn_wl_no_undefined" = "yes"; then 989 AC_MSG_RESULT([yes]) 990 for library_dir in "$abs_srcdir/subversion/libsvn_"*; do 991 eval "`basename $library_dir`_LDFLAGS=-Wl,--no-undefined" 992 done 993 else 994 AC_MSG_RESULT([no]) 995 if test "$enable_disallowing_of_undefined_references" = "yes"; then 996 AC_MSG_ERROR([--enable-disallowing-of-undefined-references explicitly requested, but -Wl,--no-undefined not supported]) 997 fi 998 fi 999fi 1000AC_SUBST([libsvn_auth_gnome_keyring_LDFLAGS]) 1001AC_SUBST([libsvn_auth_kwallet_LDFLAGS]) 1002AC_SUBST([libsvn_client_LDFLAGS]) 1003AC_SUBST([libsvn_delta_LDFLAGS]) 1004AC_SUBST([libsvn_diff_LDFLAGS]) 1005AC_SUBST([libsvn_fs_LDFLAGS]) 1006AC_SUBST([libsvn_fs_base_LDFLAGS]) 1007AC_SUBST([libsvn_fs_fs_LDFLAGS]) 1008AC_SUBST([libsvn_fs_util_LDFLAGS]) 1009AC_SUBST([libsvn_ra_LDFLAGS]) 1010AC_SUBST([libsvn_ra_local_LDFLAGS]) 1011AC_SUBST([libsvn_ra_serf_LDFLAGS]) 1012AC_SUBST([libsvn_ra_svn_LDFLAGS]) 1013AC_SUBST([libsvn_repos_LDFLAGS]) 1014AC_SUBST([libsvn_subr_LDFLAGS]) 1015AC_SUBST([libsvn_wc_LDFLAGS]) 1016 1017 1018AC_ARG_ENABLE(maintainer-mode, 1019AS_HELP_STRING([--enable-maintainer-mode], 1020 [Turn on debugging and very strict compile-time warnings]), 1021[ 1022 if test "$enableval" = "yes" ; then 1023 if test "$enable_debugging" = "no" ; then 1024 AC_MSG_ERROR([Can't have --disable-debug and --enable-maintainer-mode]) 1025 fi 1026 enable_debugging=yes 1027 1028 dnl Enable some extra warnings. Put these before the user's flags 1029 dnl so the user can specify flags that override these. 1030 if test "$GCC" = "yes"; then 1031 AC_MSG_NOTICE([maintainer-mode: adding GCC warning flags]) 1032 1033 dnl some additional flags that can be handy for an occasional review, 1034 dnl but throw too many warnings in svn code, of too little importance, 1035 dnl to keep these enabled. Remove the "dnl" to do a run with these 1036 dnl switches enabled. 1037 dnl ./configure CFLAGS="-Wswitch-enum -Wswitch-default" 1038 1039 dnl Add each of the following flags only if the C compiler accepts it. 1040 CFLAGS_KEEP="$CFLAGS" 1041 CFLAGS="" 1042 1043 SVN_CFLAGS_ADD_IFELSE([-Werror=implicit-function-declaration]) 1044 SVN_CFLAGS_ADD_IFELSE([-Werror=declaration-after-statement]) 1045 SVN_CFLAGS_ADD_IFELSE([-Wextra-tokens]) 1046 SVN_CFLAGS_ADD_IFELSE([-Wnewline-eof]) 1047 SVN_CFLAGS_ADD_IFELSE([-Wshorten-64-to-32]) 1048 SVN_CFLAGS_ADD_IFELSE([-Wold-style-definition]) 1049 SVN_CFLAGS_ADD_IFELSE([-Wno-system-headers]) 1050 SVN_CFLAGS_ADD_IFELSE([-Wno-format-nonliteral]) 1051 SVN_CFLAGS_ADD_IFELSE([-Wmissing-variable-declarations]) 1052 1053 CMAINTAINERFLAGS="$CFLAGS" 1054 CFLAGS="$CFLAGS_KEEP" 1055 1056 dnl Add flags that all versions of GCC (should) support 1057 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 -Wbad-function-cast $CMAINTAINERFLAGS" 1058 fi 1059 if test "$GXX" = "yes"; then 1060 AC_MSG_NOTICE([maintainer-mode: adding G++ warning flags]) 1061 1062 dnl Add each of the following flags only if the C++ compiler accepts it. 1063 CXXFLAGS_KEEP="$CXXFLAGS" 1064 CXXFLAGS="" 1065 1066 SVN_CXXFLAGS_ADD_IFELSE([-Wextra-tokens]) 1067 SVN_CXXFLAGS_ADD_IFELSE([-Wnewline-eof]) 1068 SVN_CXXFLAGS_ADD_IFELSE([-Wshorten-64-to-32]) 1069 SVN_CXXFLAGS_ADD_IFELSE([-Wno-system-headers]) 1070 1071 CXXMAINTAINERFLAGS="$CXXFLAGS" 1072 CXXFLAGS="$CXXFLAGS_KEEP" 1073 1074 dnl Add flags that all versions of G++ (should) support 1075 CXXMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow -Wunused -Wunreachable-code $CXXMAINTAINERFLAGS" 1076 fi 1077 fi 1078]) 1079 1080if test "$enable_debugging" = "yes" ; then 1081 dnl At the moment, we don't want optimization, because we're 1082 dnl debugging. Unless optiization was explicitly enabled. 1083 if test "$enable_optimization" != "yes"; then 1084 AC_MSG_NOTICE([Disabling optimizations for debugging]) 1085 CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"] 1086 CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"] 1087 fi 1088 dnl Add debugging flags, unless they were set by the user 1089 if test -z ["`echo $CUSERFLAGS' ' | $EGREP -- '-g[0-9]? '`"]; then 1090 AC_MSG_NOTICE([Enabling debugging for C]) 1091 CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"] 1092 SVN_CFLAGS_ADD_IFELSE([-fno-inline]) 1093 SVN_CFLAGS_ADD_IFELSE([-fno-omit-frame-pointer]) 1094 SVN_CFLAGS_ADD_IFELSE([-g3],[],[ 1095 SVN_CFLAGS_ADD_IFELSE([-g2],[],[ 1096 SVN_CFLAGS_ADD_IFELSE([-g])])]) 1097 fi 1098 if test -z ["`echo $CXXUSERFLAGS' ' | $EGREP -- '-g[0-9]? '`"]; then 1099 AC_MSG_NOTICE([Enabling debugging for C++]) 1100 CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"] 1101 SVN_CXXFLAGS_ADD_IFELSE([-fno-inline]) 1102 SVN_CXXFLAGS_ADD_IFELSE([-fno-omit-frame-pointer]) 1103 SVN_CXXFLAGS_ADD_IFELSE([-g3],[],[ 1104 SVN_CXXFLAGS_ADD_IFELSE([-g2],[],[ 1105 SVN_CXXFLAGS_ADD_IFELSE([-g])])]) 1106 fi 1107 dnl SVN_DEBUG enables specific features for developer builds 1108 dnl AP_DEBUG enables specific (Apache) features for developer builds 1109 CFLAGS="$CFLAGS -DSVN_DEBUG -DAP_DEBUG" 1110 CXXFLAGS="$CXXFLAGS -DSVN_DEBUG -DAP_DEBUG" 1111elif test "$enable_debugging" = "no" ; then 1112 AC_MSG_NOTICE([Disabling debugging]) 1113 CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"] 1114 CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"] 1115 dnl Compile with NDEBUG to get rid of assertions 1116 CFLAGS="$CFLAGS -DNDEBUG" 1117 CXXFLAGS="$CXXFLAGS -DNDEBUG" 1118# elif test "$enable_debugging" = "maybe" ; then 1119# # do nothing 1120fi 1121 1122if test "$enable_optimization" = "yes"; then 1123 dnl Add optimization flags, unless they were set by the user 1124 if test -z ["`echo $CUSERFLAGS' ' | $EGREP -- '-O[^ ]* '`"]; then 1125 CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"] 1126 if test "$enable_debugging" = "yes"; then 1127 AC_MSG_NOTICE([Enabling optimizations for C (with debugging enabled)]) 1128 SVN_CFLAGS_ADD_IFELSE([-O1],[],[ 1129 SVN_CFLAGS_ADD_IFELSE([-O])]) 1130 else 1131 AC_MSG_NOTICE([Enabling optimizations for C]) 1132 SVN_CFLAGS_ADD_IFELSE([-O3],[],[ 1133 SVN_CFLAGS_ADD_IFELSE([-O2],[],[ 1134 SVN_CFLAGS_ADD_IFELSE([-O1],[],[ 1135 SVN_CFLAGS_ADD_IFELSE([-O])])])]) 1136 SVN_CFLAGS_ADD_IFELSE([-Wno-clobbered]) 1137 SVN_CFLAGS_ADD_IFELSE([-flto]) 1138 fi 1139 fi 1140 if test -z ["`echo $CXXUSERFLAGS' ' | $EGREP -- '-O[^ ]* '`"]; then 1141 CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"] 1142 if test "$enable_debugging" = "yes"; then 1143 AC_MSG_NOTICE([Enabling optimizations for C++ (with debugging enabled)]) 1144 SVN_CXXFLAGS_ADD_IFELSE([-O1],[],[ 1145 SVN_CXXFLAGS_ADD_IFELSE([-O])]) 1146 else 1147 AC_MSG_NOTICE([Enabling optimizations for C++]) 1148 SVN_CXXFLAGS_ADD_IFELSE([-O3],[],[ 1149 SVN_CXXFLAGS_ADD_IFELSE([-O2],[],[ 1150 SVN_CXXFLAGS_ADD_IFELSE([-O1],[],[ 1151 SVN_CXXFLAGS_ADD_IFELSE([-O])])])]) 1152 SVN_CXXFLAGS_ADD_IFELSE([-Wno-clobbered]) 1153 SVN_CXXFLAGS_ADD_IFELSE([-flto]) 1154 fi 1155 fi 1156elif test "$enable_optimization" = "no"; then 1157 dnl Remove all optimization flags 1158 AC_MSG_NOTICE([Disabling optimizations]) 1159 CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"] 1160 CXXFLAGS=["`echo $CXXFLAGS' ' | $SED -e 's/-O[^ ]* //g'`"] 1161# elif test "$enable_optimization" = "maybe" ; then 1162# # do nothing 1163fi 1164 1165dnl Dump the current compiler options 1166AC_MSG_NOTICE([C compiler flags: $CFLAGS]) 1167AC_MSG_NOTICE([ user-defined: $CUSERFLAGS]) 1168AC_MSG_NOTICE([ maintainer-mode: $CMAINTAINERFLAGS]) 1169AC_MSG_NOTICE([C++ compiler flags: $CXXFLAGS]) 1170AC_MSG_NOTICE([ user-defined: $CXXUSERFLAGS]) 1171AC_MSG_NOTICE([ maintainer-mode: $CXXMAINTAINERFLAGS]) 1172 1173AC_ARG_ENABLE(full-version-match, 1174AS_HELP_STRING([--disable-full-version-match], 1175 [Disable the full version match rules when checking 1176 Subversion library compatibility.]), 1177[ 1178 if test "$enableval" = "no" ; then 1179 AC_MSG_NOTICE([Disabling svn full version matching]) 1180 AC_DEFINE(SVN_DISABLE_FULL_VERSION_MATCH, 1, 1181 [Defined if the full version matching rules are disabled]) 1182 fi 1183]) 1184 1185AC_ARG_WITH(editor, 1186AS_HELP_STRING([--with-editor=PATH], 1187 [Specify a default editor for the subversion client.]), 1188[ 1189 1190 if test "$withval" = "yes" ; then 1191 AC_MSG_ERROR([--with-editor requires an argument.]) 1192 else 1193 SVN_CLIENT_EDITOR=$withval 1194 AC_DEFINE_UNQUOTED(SVN_CLIENT_EDITOR, "$SVN_CLIENT_EDITOR", 1195 [The path of a default editor for the client.]) 1196 1197 fi 1198 1199]) 1200 1201SVN_LIB_Z 1202 1203MOD_ACTIVATION="" 1204AC_ARG_ENABLE(mod-activation, 1205AS_HELP_STRING([--enable-mod-activation], 1206 [Enable mod_dav_svn in httpd.conf]), 1207[ 1208 if test "$enableval" = "yes" ; then 1209 MOD_ACTIVATION="-a" 1210 AC_MSG_NOTICE([Enabling apache module activation]) 1211 else 1212 AC_MSG_NOTICE([Disabling apache module activation]) 1213 fi 1214]) 1215AC_SUBST(MOD_ACTIVATION) 1216 1217 1218 1219AC_ARG_ENABLE(gcov, 1220AC_HELP_STRING([--enable-gcov], 1221 [Turn on gcov coverage testing (GCC only).]), 1222[ 1223 if test "$enableval" = "yes" ; then 1224 dnl Probably other compilers support something similar; 1225 dnl feel free to extend this to include them. 1226 if test "$GCC" = "yes"; then 1227 if test "$svn_enable_shared" = "yes" ; then 1228 AC_MSG_ERROR([Can't have --enable-gcov without --disable-shared (we 1229 recommend also using --enable-all-static).]) 1230 fi 1231 if test ! "$enable_all_static" = "yes" ; then 1232 AC_MSG_WARN(We recommend --enable-all-static with --enable-gcov.) 1233 fi 1234 AC_MSG_NOTICE([Enabling gcov coverage testing.]) 1235 CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" 1236 CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage" 1237 else 1238 AC_MSG_ERROR([We only support --enable-gcov with GCC right now.]) 1239 fi 1240 fi 1241]) 1242 1243AC_ARG_ENABLE(gprof, 1244AS_HELP_STRING([--enable-gprof], 1245 [Produce gprof profiling data in 'gmon.out' (GCC only).]), 1246[ 1247 if test "$enableval" = "yes" ; then 1248 dnl Probably other compilers support -pg or something similar; 1249 dnl feel free to extend this to include them. 1250 if test "$GCC" = "yes"; then 1251 if test "$svn_enable_shared" = "yes" ; then 1252 AC_MSG_ERROR([Can't have --enable-gprof without --disable-shared (we 1253 recommend also using --enable-all-static).]) 1254 fi 1255 if test ! "$enable_all_static" = "yes" ; then 1256 AC_MSG_WARN(We recommend --enable-all-static with --enable-gprof.) 1257 fi 1258 AC_MSG_NOTICE([Enabling gprof profiling data (to gmon.out).]) 1259 CFLAGS="$CFLAGS -pg" 1260 CXXFLAGS="$CXXFLAGS -pg" 1261 LT_LDFLAGS="$LT_LDFLAGS -pg" 1262 else 1263 AC_MSG_ERROR([We only support --enable-gprof with GCC right now.]) 1264 fi 1265 fi 1266]) 1267 1268 1269# Scripting and Bindings languages 1270 1271# Python: Used for testsuite, and bindings 1272 1273 1274PYTHON="`$abs_srcdir/build/find_python.sh`" 1275if test -z "$PYTHON"; then 1276 AC_MSG_WARN([Python 2.7 or later is required to run the testsuite]) 1277 AC_MSG_WARN([or to use the Subversion Python bindings]) 1278 AC_MSG_WARN([]) 1279 AC_MSG_WARN([If you have a suitable Python installed, but not on the]) 1280 AC_MSG_WARN([PATH, set the environment variable PYTHON to the full path]) 1281 AC_MSG_WARN([to the Python executable, and re-run configure]) 1282fi 1283AC_PATH_PROGS(PYTHON, "$PYTHON", none) 1284 1285# The minimum version for the JVM runtime for our Java bytecode. 1286JAVA_OLDEST_WORKING_VER='1.6' 1287# SVN_CHECK_JDK sets $JAVA_CLASSPATH 1288SVN_CHECK_JDK($JAVA_OLDEST_WORKING_VER) 1289 1290AC_PATH_PROG(PERL, perl, none) 1291 1292if test -n "$RUBY"; then 1293 AC_PATH_PROG(RUBY, "$RUBY", none) 1294else 1295 AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193 ruby2.0 ruby2.1, none) 1296fi 1297if test "$RUBY" != "none"; then 1298 AC_MSG_CHECKING([rb_hash_foreach]) 1299 if "$RUBY" -r mkmf -e 'exit(have_func("rb_hash_foreach") ? 0 : 1)' >/dev/null; then 1300 AC_MSG_RESULT([yes]) 1301 if test -n "$RDOC"; then 1302 AC_PATH_PROG(RDOC, "$RDOC", none) 1303 else 1304 AC_PATH_PROGS(RDOC, rdoc rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193 rdoc2.0 rdoc2.1, none) 1305 fi 1306 AC_CACHE_CHECK([for Ruby major version], [svn_cv_ruby_major],[ 1307 svn_cv_ruby_major="`$RUBY -rrbconfig -e 'print RbConfig::CONFIG.fetch(%q(MAJOR))'`" 1308 ]) 1309 RUBY_MAJOR="$svn_cv_ruby_major" 1310 1311 AC_CACHE_CHECK([for Ruby minor version], [svn_cv_ruby_minor],[ 1312 svn_cv_ruby_minor="`$RUBY -rrbconfig -e 'print RbConfig::CONFIG.fetch(%q(MINOR))'`" 1313 ]) 1314 RUBY_MINOR="$svn_cv_ruby_minor" 1315 1316 AC_CACHE_CHECK([for Ruby teeny version], [svn_cv_ruby_teeny],[ 1317 svn_cv_ruby_teeny="`$RUBY -rrbconfig -e 'major, minor, teeny = RUBY_VERSION.split("."); print teeny;'`" 1318 ]) 1319 RUBY_TEENY="$svn_cv_ruby_teeny" 1320 1321 AC_SUBST(RUBY_MAJOR) 1322 AC_SUBST(RUBY_MINOR) 1323 AC_SUBST(RUBY_TEENY) 1324 if test \( "$RUBY_MAJOR" -eq "1" -a "$RUBY_MINOR" -gt "8" -a "$RUBY_TEENY" -lt "3" \); then 1325 # Disallow Ruby between 1.8.7 and 1.9.3 1326 RUBY="none" 1327 AC_MSG_WARN([The detected Ruby is between 1.9 and 1.9.3]) 1328 AC_MSG_WARN([Only 1.8.x and 1.9.3 releases are supported at this time]) 1329 fi 1330 else 1331 AC_MSG_RESULT([no]) 1332 RUBY="none" 1333 AC_MSG_WARN([The detected Ruby is too old for Subversion to use]) 1334 AC_MSG_WARN([A Ruby which has rb_hash_foreach is required to use the]) 1335 AC_MSG_WARN([Subversion Ruby bindings]) 1336 AC_MSG_WARN([Upgrade to the official 1.8.2 release, or later]) 1337 fi 1338fi 1339 1340SVN_CHECK_SWIG 1341 1342SVN_CHECK_CTYPESGEN 1343 1344dnl decide whether we want to link against the RA/FS libraries 1345AC_ARG_ENABLE(runtime-module-search, 1346AS_HELP_STRING([--enable-runtime-module-search], 1347 [Turn on dynamic loading of RA/FS libraries including 1348 third-party FS libraries]), 1349[ 1350 if test "$enableval" = "yes"; then 1351 use_dso=yes 1352 if test "$svn_enable_shared" = "no"; then 1353 AC_MSG_ERROR([--enable-runtime-module-search conflicts with --disable-shared]) 1354 fi 1355 AC_DEFINE(SVN_USE_DSO, 1, 1356 [Defined if svn should try to load DSOs]) 1357 fi 1358]) 1359 1360if test "$svn_enable_shared" = "no" || test "$use_dso" != "yes"; then 1361 AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL, 1, 1362 [Defined if libsvn_client should link against libsvn_ra_local]) 1363 svn_ra_lib_deps="\$(RA_LOCAL_DEPS)" 1364 svn_ra_lib_install_deps="install-ramod-lib" 1365 svn_ra_lib_link="\$(RA_LOCAL_LINK)" 1366 1367 AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_SVN, 1, 1368 [Defined if libsvn_client should link against libsvn_ra_svn]) 1369 svn_ra_lib_deps="$svn_ra_lib_deps \$(RA_SVN_DEPS)" 1370 svn_ra_lib_link="$svn_ra_lib_link \$(RA_SVN_LINK)" 1371 1372 if test "$svn_lib_serf" = "yes"; then 1373 AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_SERF, 1, 1374 [Defined if libsvn_client should link against libsvn_ra_serf]) 1375 svn_ra_lib_deps="$svn_ra_lib_deps \$(RA_SERF_DEPS)" 1376 svn_ra_lib_install_deps="$svn_ra_lib_install_deps install-serf-lib" 1377 svn_ra_lib_link="$svn_ra_lib_link \$(RA_SERF_LINK)" 1378 fi 1379 1380 SVN_RA_LIB_DEPS=$svn_ra_lib_deps 1381 SVN_RA_LIB_INSTALL_DEPS=$svn_ra_lib_install_deps 1382 SVN_RA_LIB_LINK=$svn_ra_lib_link 1383 1384 AC_DEFINE(SVN_LIBSVN_FS_LINKS_FS_FS, 1, 1385 [Defined if libsvn_fs should link against libsvn_fs_fs]) 1386 svn_fs_lib_deps="\$(FS_FS_DEPS)" 1387 svn_fs_lib_install_deps="install-fsmod-lib" 1388 svn_fs_lib_link="\$(FS_FS_LINK)" 1389 1390 AC_DEFINE(SVN_LIBSVN_FS_LINKS_FS_X, 1, 1391 [Defined if libsvn_fs should link against libsvn_fs_x]) 1392 svn_fs_lib_deps="$svn_fs_lib_deps \$(FS_X_DEPS)" 1393 svn_fs_lib_link="$svn_fs_lib_link \$(FS_X_LINK)" 1394dnl FSFS already installs fsmod 1395dnl svn_fs_lib_install_deps="$svn_fs_lib_install_deps install-fsmod-lib" 1396 1397 if test "$svn_lib_berkeley_db" = "yes"; then 1398 AC_DEFINE(SVN_LIBSVN_FS_LINKS_FS_BASE, 1, 1399 [Defined if libsvn_fs should link against libsvn_fs_base]) 1400 svn_fs_lib_deps="$svn_fs_lib_deps \$(FS_BASE_DEPS)" 1401 svn_fs_lib_install_deps="$svn_fs_lib_install_deps install-bdb-lib" 1402 svn_fs_lib_link="$svn_fs_lib_link \$(FS_BASE_LINK)" 1403 fi 1404 1405 SVN_FS_LIB_DEPS=$svn_fs_lib_deps 1406 SVN_FS_LIB_INSTALL_DEPS=$svn_fs_lib_install_deps 1407 SVN_FS_LIB_LINK=$svn_fs_lib_link 1408fi 1409 1410AC_SUBST(SVN_RA_LIB_DEPS) 1411AC_SUBST(SVN_RA_LIB_INSTALL_DEPS) 1412AC_SUBST(SVN_RA_LIB_LINK) 1413AC_SUBST(SVN_FS_LIB_DEPS) 1414AC_SUBST(SVN_FS_LIB_INSTALL_DEPS) 1415AC_SUBST(SVN_FS_LIB_LINK) 1416 1417# ==== JavaHL ================================================================ 1418 1419dnl Possibly compile JavaHL 1420do_javahl_build=no 1421AC_ARG_ENABLE(javahl, 1422 AS_HELP_STRING([--enable-javahl], 1423 [Enable compilation of Java high-level bindings (requires C++)]), 1424 [ if test "$enableval" = "yes" ; then 1425 do_javahl_build="yes" 1426 fi 1427 ]) 1428 1429JAVAHL_OBJDIR="" 1430INSTALL_EXTRA_JAVAHL_LIB="" 1431FIX_JAVAHL_LIB="" 1432JAVAHL_TESTS_TARGET="" 1433JAVAHL_COMPAT_TESTS_TARGET="" 1434LT_CXX_LIBADD="" 1435if test "$do_javahl_build" = "yes"; then 1436 dnl Check for suitable JDK 1437 if test "$JDK_SUITABLE" = "no"; then 1438 AC_MSG_ERROR([Cannot compile JavaHL without a suitable JDK. 1439 Please specify a suitable JDK using the --with-jdk option.]) 1440 fi 1441 1442 dnl The temporary directory where libtool compiles libsvnjavahl. 1443 JAVAHL_OBJDIR='$(libsvnjavahl_PATH)/.libs' 1444 1445 os_arch=`uname` 1446 if test "$os_arch" = "Darwin"; then 1447 dnl On Darwin, JNI libs must be installed as .jnilib 1448 INSTALL_EXTRA_JAVAHL_LIB='ln -sf $(libdir)/libsvnjavahl-1.dylib $(libdir)/libsvnjavahl-1.jnilib' 1449 FIX_JAVAHL_LIB="ln -sf libsvnjavahl-1.dylib $JAVAHL_OBJDIR/libsvnjavahl-1.jnilib" 1450 fi 1451 # This segment (and the rest of r10800) is very likely unnecessary 1452 # with libtool 1.5, which automatically adds libstdc++ as a 1453 # dependency to the C++ libraries it builds. So at some future time 1454 # when autogen.sh requires libtool 1.5 or higher, we can get rid of 1455 # it. 1456 AC_MSG_CHECKING([for additional flags to link C++ libraries]) 1457 if test "x$ac_compiler_gnu" = "xyes"; then 1458 case "$host" in 1459 *freebsd10*) 1460 AC_MSG_RESULT([none needed]) 1461 ;; 1462 *) 1463 LT_CXX_LIBADD="-lstdc++" 1464 AC_MSG_RESULT([$LT_CXX_LIBADD]) 1465 ;; 1466 esac 1467 else 1468 AC_MSG_RESULT([none needed]) 1469 fi 1470fi 1471AC_SUBST(INSTALL_EXTRA_JAVAHL_LIB) 1472AC_SUBST(JAVAHL_OBJDIR) 1473AC_SUBST(FIX_JAVAHL_LIB) 1474AC_SUBST(LT_CXX_LIBADD) 1475 1476AC_ARG_WITH(junit, 1477AS_HELP_STRING([--with-junit=PATH], 1478 [Specify a path to the junit JAR file.]), 1479[ 1480 if test "$withval" != "no"; then 1481 if test -n "$JAVA_CLASSPATH"; then 1482 JAVA_CLASSPATH="$withval:$JAVA_CLASSPATH" 1483 else 1484 JAVA_CLASSPATH="$withval" 1485 fi 1486 JAVAHL_TESTS_TARGET="javahl-tests" 1487 JAVAHL_COMPAT_TESTS_TARGET="javahl-compat-tests" 1488 fi 1489]) 1490AC_SUBST(JAVA_CLASSPATH) 1491AC_SUBST(JAVAHL_TESTS_TARGET) 1492AC_SUBST(JAVAHL_COMPAT_TESTS_TARGET) 1493 1494# ==== Miscellaneous bits ==================================================== 1495 1496AC_CHECK_HEADERS([stdbool.h inttypes.h]) 1497 1498# Strip '-no-cpp-precomp' from CPPFLAGS for the clang compiler 1499### I think we get this flag from APR, so the fix probably belongs there 1500if test "$CC" = "clang"; then 1501 SVN_STRIP_FLAG(CPPFLAGS, [-no-cpp-precomp ]) 1502fi 1503 1504# Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well. 1505SWIG_CPPFLAGS="$CPPFLAGS" 1506SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-no-cpp-precomp ]) 1507AC_SUBST([SWIG_CPPFLAGS]) 1508 1509dnl Since this is used only on Unix-y systems, define the path separator as '/' 1510AC_DEFINE_UNQUOTED(SVN_PATH_LOCAL_SEPARATOR, '/', 1511 [Defined to be the path separator used on your local filesystem]) 1512 1513AC_DEFINE_UNQUOTED(SVN_NULL_DEVICE_NAME, "/dev/null", 1514 [Defined to be the null device for the system]) 1515 1516DEFAULT_FS_TYPE="fsfs" 1517AC_DEFINE_UNQUOTED(DEFAULT_FS_TYPE, "$DEFAULT_FS_TYPE", 1518 [The fs type to use by default]) 1519 1520DEFAULT_HTTP_LIBRARY="serf" 1521AC_DEFINE_UNQUOTED(DEFAULT_HTTP_LIBRARY, "$DEFAULT_HTTP_LIBRARY", 1522 [The http library to use by default]) 1523 1524# BSD/OS (BSDi) needs to use a different include syntax in Makefile 1525INCLUDE_OUTPUTS="include \$(top_srcdir)/build-outputs.mk" 1526case "$host" in 1527 *bsdi*) 1528 # Check whether they've installed GNU make 1529 if ! make --version > /dev/null 2>&1; then 1530 # BSDi make 1531 INCLUDE_OUTPUTS=".include \"\$(top_srcdir)/build-outputs.mk\"" 1532 fi 1533 ;; 1534esac 1535AC_SUBST(INCLUDE_OUTPUTS) 1536 1537# ==== Detection complete - output and run config.status ===================== 1538 1539AC_CONFIG_HEADERS(subversion/svn_private_config.h.tmp:subversion/svn_private_config.h.in) 1540AC_CONFIG_COMMANDS([svn_private_config.h.tmp], 1541 [svn_cf=subversion/svn_private_config.h; 1542 $SED -e "s/@SVN_DB_HEADER@/$SVN_DB_HEADER/" $svn_cf.tmp > $svn_cf.tmp.new 1543 cmp -s $svn_cf.tmp.new $svn_cf || mv -f $svn_cf.tmp.new $svn_cf 1544 rm -f $svn_cf.tmp.new $svn_cf.tmp], 1545 [SED="$SED" 1546 SVN_DB_HEADER="$SVN_DB_HEADER"]) 1547AC_CONFIG_FILES([Makefile]) 1548 1549# Create pkg-config .pc files from .pc.in files 1550for pc_in_file in "${abs_srcdir}"/subversion/libsvn_*/*.pc.in; do 1551 pc_file=${pc_in_file#${abs_srcdir}/} 1552 pc_file=${pc_file%.in} 1553 AC_CONFIG_FILES([${pc_file}]) 1554done 1555 1556SVN_CONFIG_SCRIPT(tools/backup/hot-backup.py) 1557SVN_CONFIG_SCRIPT(tools/hook-scripts/commit-access-control.pl) 1558SVN_CONFIG_SCRIPT(subversion/bindings/swig/perl/native/Makefile.PL) 1559if test -e packages/solaris/pkginfo.in; then 1560 SVN_CONFIG_SCRIPT(packages/solaris/pkginfo) 1561fi 1562AC_SUBST(SVN_CONFIG_SCRIPT_FILES) 1563 1564# Ensure that SWIG is checked after reconfiguration. 1565rm -f .swig_checked 1566 1567dnl Provide ${host} for use in compiled code (for svn --version) 1568AC_DEFINE_UNQUOTED([SVN_BUILD_HOST], "${host}", 1569 [Defined to the config.guess name of the build system]) 1570 1571dnl Provide ${target} for use in compiled code (for user-agent string) 1572AC_DEFINE_UNQUOTED([SVN_BUILD_TARGET], "${target}", 1573 [Defined to the config.guess name of the build target]) 1574 1575AC_OUTPUT 1576 1577# ==== Print final messages to user ========================================== 1578 1579dnl Configure is long - users tend to miss warnings printed during it. 1580dnl Hence, print a warnings about what we did and didn't configure at the 1581dnl end, where people will actually see them. 1582 1583if test "$svn_have_berkeley_db" = "no6" && test "$enable_bdb6" != "no"; then 1584 AC_MSG_WARN([We have configured without BDB filesystem support 1585 1586 1587Berkeley DB 6 was found, but not used. Please re-run configure (see 1588./config.nice) with the '--enable-bdb6' flag to use it, 1589or explicitly specify '--disable-bdb6' or '--without-berkeley-db' 1590to silence this warning. 1591 1592Please note that some versions of Berkeley DB 6+ are under the GNU Affero 1593General Public License, version 3: 1594https://oss.oracle.com/pipermail/bdb/2013-June/000056.html 1595 1596The AGPL-3.0 licence may impose special requirements for making available 1597source code of server-side software. The text of the licence is: 1598https://www.gnu.org/licenses/agpl-3.0.html 1599http://opensource.org/licenses/AGPL-3.0 1600 1601The Berkeley DB backend to Subversion is deprecated; see 1602http://subversion.apache.org/docs/release-notes/1.8#bdb-deprecated 1603 1604The Subversion developers have not tested Subversion with Berkeley DB 6 for 1605technical problems or bugs. 1606]) 1607fi 1608