summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-08-05 16:22:51 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-08-05 16:22:51 +0000
commitcf46733632c7279a9fd0fe6ce26f9185a4ae82a9 (patch)
treeda27775a2161723ef342e91af41a8b51fedef405 /configure.ac
parentbb0ef45f7c46b0ae221b26265ef98a768c33f820 (diff)
downloadsubversion-tarball-master.tar.gz
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac219
1 files changed, 146 insertions, 73 deletions
diff --git a/configure.ac b/configure.ac
index b198c04..1fe0414 100644
--- a/configure.ac
+++ b/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
@@ -204,7 +199,10 @@ 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
+if test "${prefix}" = "NONE" \
+ && ( test "${datadir}" = '${prefix}/share' \
+ || ( test "${datadir}" = '${datarootdir}' \
+ && test "${datarootdir}" = '${prefix}/share' ) ); then
exp_localedir='${ac_default_prefix}/share/locale'
else
exp_localedir=$localedir
@@ -227,7 +225,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 +322,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 +556,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 +670,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 +697,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 +719,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 +745,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 +945,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 +1037,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 +1051,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 +1071,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 +1276,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 +1286,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 +1390,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 +1458,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 +1496,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
@@ -1442,6 +1507,7 @@ fi
# Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well.
SWIG_CPPFLAGS="$CPPFLAGS"
SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-no-cpp-precomp ])
+SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-Wdate-time ])
AC_SUBST([SWIG_CPPFLAGS])
dnl Since this is used only on Unix-y systems, define the path separator as '/'
@@ -1484,6 +1550,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)