diff options
author | peter <peter@FreeBSD.org> | 2015-10-12 09:53:55 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2015-10-12 09:53:55 +0000 |
commit | b6c77895261859228cc9fa0664e09fbea060e104 (patch) | |
tree | 64ec78831396b65233663ebce29e8f389059bb8d /contrib/subversion/configure.ac | |
parent | 67366adb20c44f7e7f9f3739419e8a0a82157433 (diff) | |
parent | c18b5d7f26f112be58bb1c4660799dea49f219ba (diff) | |
download | FreeBSD-src-b6c77895261859228cc9fa0664e09fbea060e104.zip FreeBSD-src-b6c77895261859228cc9fa0664e09fbea060e104.tar.gz |
Update from svn-1.8.14 to 1.9.2.
Formal release notes are available:
https://subversion.apache.org/docs/release-notes/1.9.html
Of particular note, the client checkout format has *not* changed so
upgrades should *not* be required.
When reading a repository (file:// or running as a local server), an
improved fsfs version 7 is available with significant performance
improvements. An optional upgrade is possible to use the new features.
Without the upgrade, this is fully read/write compatible with the
version 6 fsfs as in svn-1.8.
Relnotes: yes
Diffstat (limited to 'contrib/subversion/configure.ac')
-rw-r--r-- | contrib/subversion/configure.ac | 213 |
1 files changed, 141 insertions, 72 deletions
diff --git a/contrib/subversion/configure.ac b/contrib/subversion/configure.ac index b198c04..4ed66d4 100644 --- a/contrib/subversion/configure.ac +++ b/contrib/subversion/configure.ac @@ -49,13 +49,11 @@ SVN_CONFIG_NICE(config.nice) # ==== Check for programs ==================================================== # Look for a C compiler (before anything can set CFLAGS) -CMAINTAINERFLAGS="$CUSERFLAGS" CUSERFLAGS="$CFLAGS" AC_PROG_CC SVN_CC_MODE_SETUP # Look for a C++ compiler (before anything can set CXXFLAGS) -CXXMAINTAINERFLAGS="$CXXUSERFLAGS" CXXUSERFLAGS="$CXXFLAGS" AC_PROG_CXX SVN_CXX_MODE_SETUP @@ -92,13 +90,8 @@ AC_SUBST([MKDIR]) dnl verify apr version and set apr flags dnl These regular expressions should not contain "\(" and "\)". -dnl The specific reason we require APR 0.9.7 is: -dnl It contains fixes to its file writing routines -dnl now generating errors instead of silently ignoring -dnl them. Only .7 and later can guarantee repository -dnl integrity with FSFS. -APR_VER_REGEXES=["0\.9\.[7-9] 0\.9\.[12][0-9] 1\. 2\."] +APR_VER_REGEXES=["1\.[3-9]\. 2\."] SVN_LIB_APR($APR_VER_REGEXES) @@ -111,11 +104,14 @@ if test `expr $apr_version : 2` -ne 0; then AC_SUBST(SVN_APRUTIL_INCLUDES) AC_SUBST(SVN_APRUTIL_CONFIG, ["$apu_config"]) AC_SUBST(SVN_APRUTIL_LIBS) + SVN_APR_MAJOR_VERSION=2 else svn_lib_ver=0 - APU_VER_REGEXES=["0\.9\.[7-9] 0\.9\.1[0-9] 1\."] + APU_VER_REGEXES=["1\.[3-9]\."] SVN_LIB_APRUTIL($APU_VER_REGEXES) + SVN_APR_MAJOR_VERSION=1 fi +AC_SUBST(SVN_APR_MAJOR_VERSION) SVN_LT_SOVERSION="-version-info $svn_lib_ver" AC_SUBST(SVN_LT_SOVERSION) AC_DEFINE_UNQUOTED(SVN_SOVERSION, $svn_lib_ver, @@ -125,7 +121,7 @@ dnl Search for pkg-config AC_PATH_PROG(PKG_CONFIG, pkg-config) dnl Search for serf -SVN_LIB_SERF(1,2,1) +SVN_LIB_SERF(1,3,4) if test "$svn_lib_serf" = "yes"; then AC_DEFINE([SVN_HAVE_SERF], 1, @@ -142,7 +138,7 @@ fi dnl Find Apache with a recent-enough magic module number -SVN_FIND_APACHE(20020903) +SVN_FIND_APACHE(20051115) 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 @@ -167,7 +163,6 @@ if test -n "$sqlite_compat_ver" && test "$sqlite_compat_ver" != no; then 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 @@ -227,7 +222,7 @@ if test "$experimental_libtool" = "yes"; then SVN_LIBTOOL="$sh_libtool" else sh_libtool="$abs_builddir/libtool" - SVN_LIBTOOL="\$(SHELL) $sh_libtool" + SVN_LIBTOOL="\$(SHELL) \"$sh_libtool\"" fi AC_SUBST(SVN_LIBTOOL) @@ -324,18 +319,6 @@ case $host in 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, @@ -570,64 +553,97 @@ found_gnome_keyring=no AC_MSG_CHECKING([whether to look for GNOME Keyring]) if test "$with_gnome_keyring" != "no"; then AC_MSG_RESULT([yes]) - if test "$svn_enable_shared" = "yes"; then - if test "$APR_HAS_DSO" = "yes"; then - if test -n "$PKG_CONFIG"; then - AC_MSG_CHECKING([for GLib and GNOME Keyring .pc files]) - if $PKG_CONFIG --exists glib-2.0 gnome-keyring-1; then - AC_MSG_RESULT([yes]) - old_CPPFLAGS="$CPPFLAGS" - SVN_GNOME_KEYRING_INCLUDES="`$PKG_CONFIG --cflags glib-2.0 gnome-keyring-1`" - CPPFLAGS="$CPPFLAGS $SVN_GNOME_KEYRING_INCLUDES" - AC_CHECK_HEADER(gnome-keyring.h, found_gnome_keyring=yes, found_gnome_keyring=no) - AC_MSG_CHECKING([for GNOME Keyring]) - if test "$found_gnome_keyring" = "yes"; then + 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]) - 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`" + 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 GNOME Keyring]) + AC_MSG_ERROR([cannot find GLib and GNOME Keyring .pc files.]) + else + with_gnome_keyring=no 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.]) + 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([cannot find pkg-config. GNOME Keyring requires this.]) + 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([APR does not have support for DSOs. GNOME Keyring requires this.]) + AC_MSG_ERROR([--with-gnome-keyring conflicts with --disable-shared]) 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 @@ -651,13 +667,22 @@ AC_ARG_ENABLE(nls, [enable_nls=$enableval],[enable_nls=yes]) USE_NLS="no" +SVN_INTL_LIBS="" if test "$enable_nls" = "yes"; then dnl First, check to see if there is a working msgfmt. AC_PATH_PROG(MSGFMT, msgfmt, none) AC_PATH_PROG(MSGMERGE, msgmerge, none) AC_PATH_PROG(XGETTEXT, xgettext, none) if test "$MSGFMT" != "none"; then - AC_SEARCH_LIBS(bindtextdomain, [intl], [], + AC_SEARCH_LIBS(bindtextdomain, [intl], + [ + # in case libintl needs to be linked explicitly, + # $ac_cv_search_bindtextdomain contains -l linker flags + if echo "$ac_cv_search_bindtextdomain" | grep '^-l' >/dev/null + then + SVN_INTL_LIBS="$ac_cv_search_bindtextdomain" + fi + ], [ enable_nls="no" ]) @@ -669,6 +694,10 @@ if test "$enable_nls" = "yes"; then AC_SEARCH_LIBS(bindtextdomain, [intl], [ enable_nls="yes" + if echo "$ac_cv_search_bindtextdomain" | grep '^-l' >/dev/null + then + SVN_INTL_LIBS="$ac_cv_search_bindtextdomain" + fi # This is here so that -liconv ends up in LIBS # if it worked with -liconv. AC_CHECK_LIB(iconv, libiconv_open) @@ -687,6 +716,8 @@ if test "$enable_nls" = "yes"; then fi fi +AC_SUBST(SVN_INTL_LIBS) + 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 @@ -711,6 +742,30 @@ AH_BOTTOM([ #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 APR_INLINE __attribute__ ((always_inline)) +# define SVN__PREVENT_INLINE __attribute__ ((noinline)) +#else +# define SVN__FORCE_INLINE APR_INLINE +# define SVN__PREVENT_INLINE +#endif + +/* Macro used to specify that a variable is intentionally left unused. + Supresses compiler warnings about the variable being unused. */ +#define SVN_UNUSED(v) ( (void)(v) ) ]) dnl Used to simulate makefile conditionals. @@ -887,16 +942,6 @@ AC_CHECK_HEADER(termios.h,[ 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]), @@ -989,7 +1034,7 @@ AS_HELP_STRING([--enable-maintainer-mode], dnl but throw too many warnings in svn code, of too little importance, dnl to keep these enabled. Remove the "dnl" to do a run with these dnl switches enabled. - dnl ./configure CUSERFLAGS="-Wswitch-enum -Wswitch-default" + dnl ./configure CFLAGS="-Wswitch-enum -Wswitch-default" dnl Add each of the following flags only if the C compiler accepts it. CFLAGS_KEEP="$CFLAGS" @@ -1003,12 +1048,13 @@ AS_HELP_STRING([--enable-maintainer-mode], 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([-Wmissing-variable-declarations]) - CMAINTAINERFLAGS="$CFLAGS $CMAINTAINERFLAGS" + 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" + 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" fi if test "$GXX" = "yes"; then AC_MSG_NOTICE([maintainer-mode: adding G++ warning flags]) @@ -1022,7 +1068,7 @@ AS_HELP_STRING([--enable-maintainer-mode], SVN_CXXFLAGS_ADD_IFELSE([-Wshorten-64-to-32]) SVN_CXXFLAGS_ADD_IFELSE([-Wno-system-headers]) - CXXMAINTAINERFLAGS="$CXXFLAGS $CXXMAINTAINERFLAGS" + CXXMAINTAINERFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS_KEEP" dnl Add flags that all versions of G++ (should) support @@ -1227,7 +1273,7 @@ AS_HELP_STRING([--enable-gprof], 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([Python 2.7 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]) @@ -1237,7 +1283,7 @@ fi AC_PATH_PROGS(PYTHON, "$PYTHON", none) # The minimum version for the JVM runtime for our Java bytecode. -JAVA_OLDEST_WORKING_VER='1.5' +JAVA_OLDEST_WORKING_VER='1.6' # SVN_CHECK_JDK sets $JAVA_CLASSPATH SVN_CHECK_JDK($JAVA_OLDEST_WORKING_VER) @@ -1341,6 +1387,13 @@ if test "$svn_enable_shared" = "no" || test "$use_dso" != "yes"; then 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]) @@ -1402,8 +1455,15 @@ if test "$do_javahl_build" = "yes"; then # 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]) + case "$host" in + *freebsd10*) + AC_MSG_RESULT([none needed]) + ;; + *) + LT_CXX_LIBADD="-lstdc++" + AC_MSG_RESULT([$LT_CXX_LIBADD]) + ;; + esac else AC_MSG_RESULT([none needed]) fi @@ -1433,6 +1493,8 @@ AC_SUBST(JAVAHL_COMPAT_TESTS_TARGET) # ==== Miscellaneous bits ==================================================== +AC_CHECK_HEADERS([stdbool.h inttypes.h]) + # 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 @@ -1484,6 +1546,13 @@ AC_CONFIG_COMMANDS([svn_private_config.h.tmp], SVN_DB_HEADER="$SVN_DB_HEADER"]) AC_CONFIG_FILES([Makefile]) +# Create pkg-config .pc files from .pc.in files +for pc_in_file in "${abs_srcdir}"/subversion/libsvn_*/*.pc.in; do + pc_file=${pc_in_file#${abs_srcdir}/} + pc_file=${pc_file%.in} + AC_CONFIG_FILES([${pc_file}]) +done + 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) |