You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2020/05/23 14:17:03 UTC
svn commit: r1878061 [3/43] - in /subversion/branches/addremove: ./ build/
build/ac-macros/ build/generator/ build/generator/swig/
build/generator/templates/ build/generator/util/ build/win32/
contrib/client-side/ contrib/client-side/svn_load_dirs/ con...
Modified: subversion/branches/addremove/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build.conf?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build.conf (original)
+++ subversion/branches/addremove/build.conf Sat May 23 14:16:56 2020
@@ -38,11 +38,14 @@ private-includes =
subversion/include/private/*.h
subversion/bindings/swig/include/*.swg
subversion/libsvn_delta/compose_delta.c
- subversion/bindings/cxxhl/include/*.hpp
- subversion/bindings/cxxhl/include/svncxxhl/*.hpp
- subversion/bindings/cxxhl/src/*.hpp
- subversion/bindings/cxxhl/src/aprwrap/*.hpp
- subversion/bindings/cxxhl/src/private/*.hpp
+ subversion/bindings/cxx/include/*.hpp
+ subversion/bindings/cxx/include/svnxx/*.hpp
+ subversion/bindings/cxx/include/svnxx/client/*.hpp
+ subversion/bindings/cxx/include/svnxx/detail/*.hpp
+ subversion/bindings/cxx/src/*.hpp
+ subversion/bindings/cxx/src/aprwrap/*.hpp
+ subversion/bindings/cxx/src/private/*.hpp
+ subversion/bindings/cxx/tests/*.hpp
subversion/bindings/javahl/native/*.hpp
subversion/bindings/javahl/native/jniwrapper/jni_*.hpp
tools/dev/svnmover/linenoise/linenoise.h
@@ -98,9 +101,9 @@ test-scripts =
bdb-test-scripts =
-swig-python-opts = $(SWIG_CPPFLAGS) -python -classic
-swig-perl-opts = $(SWIG_CPPFLAGS) -perl -nopm -noproxy
-swig-ruby-opts = $(SWIG_CPPFLAGS) -ruby
+swig-python-opts = $(SWIG_FEATURES) $(SWIG_PY_OPTS) $(SWIG_PY_FEATURES)
+swig-perl-opts = $(SWIG_FEATURES) -perl $(SWIG_PL_FEATURES) -nopm -noproxy
+swig-ruby-opts = $(SWIG_FEATURES) -ruby $(SWIG_RB_FEATURES)
swig-languages = python perl ruby
swig-dirs =
subversion/bindings/swig/python
@@ -245,7 +248,7 @@ type = lib
path = subversion/libsvn_client
libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr apriconv apr
install = lib
-msvc-export = svn_client.h private/svn_client_mtcc.h private/svn_client_private.h
+msvc-export = svn_client.h private/svn_client_mtcc.h private/svn_client_private.h private/svn_client_shelf.h private/svn_client_shelf2.h
# Routines for binary diffing and tree-deltas
[libsvn_delta]
@@ -371,7 +374,8 @@ type = lib
install = fsmod-lib
path = subversion/libsvn_subr
sources = *.c lz4/*.c
-libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic intl lz4 utf8proc
+libs = aprutil apriconv apr xml zlib apr_memcache
+ sqlite magic intl lz4 utf8proc macos-plist macos-keychain
msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
crypt32.lib version.lib
msvc-export =
@@ -392,7 +396,7 @@ msvc-export =
private\svn_string_private.h private\svn_magic.h
private\svn_subr_private.h private\svn_mutex.h
private\svn_packed_data.h private\svn_object_pool.h private\svn_cert.h
- private\svn_config_private.h
+ private\svn_config_private.h private\svn_dirent_uri_private.h
# Working copy management lib
[libsvn_wc]
@@ -438,7 +442,7 @@ description = Subversion FSFS Repository
type = exe
path = subversion/svnfsfs
install = bin
-libs = libsvn_repos libsvn_fs libsvn_fs_fs libsvn_delta libsvn_subr apriconv apr
+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
# ----------------------------------------------------------------------------
#
@@ -458,7 +462,7 @@ path = subversion/libsvn_fs_x
sources = rep-cache-db.sql
[wc_queries]
-desription = Queries on the WC database
+description = Queries on the WC database
type = sql-header
path = subversion/libsvn_wc
sources = wc-queries.sql
@@ -608,16 +612,14 @@ msvc-export = ../bindings/swig/ruby/libs
[javahl-java]
type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl
- subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
- subversion/bindings/javahl/src/org/apache/subversion/javahl/remote
- subversion/bindings/javahl/src/org/apache/subversion/javahl/types
- subversion/bindings/javahl/src/org/apache/subversion/javahl/util
-src-root = subversion/bindings/javahl/src
sources = *.java
+native = CommitItemStateFlags.java NativeResources.java SVNClient.java
+ SVNRepos.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_JAVAC)
classes = subversion/bindings/javahl/classes
-package-roots = org
+headers = subversion/bindings/javahl/include
+package = org.apache.subversion.javahl
[javahl-compat-java]
type = java
@@ -626,10 +628,12 @@ sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_COMPAT_JAVAC)
classes = subversion/bindings/javahl/classes
-add-deps = $(javahl_java_DEPS)
+add-deps = $(javahl_callback_java_DEPS) $(javahl_remote_java_DEPS)
+ $(javahl_types_java_DEPS) $(javahl_util_java_DEPS)
+ $(javahl_java_DEPS)
### Replace JAR call in INSTALL_EXTRA_JAVAHL_JAVA macro Makefile.in.
#jar = svn-javahl.jar
-package-roots = org
+package = org.tigris.subversion.javahl
[javahl-tests]
type = java
@@ -638,10 +642,12 @@ sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_JAVAC)
classes = subversion/bindings/javahl/classes
-package-roots = org
+package = org.apache.subversion.javahl
### Java targets don't do up-to-date checks yet.
#add-deps = javahl-java
-add-deps = $(javahl_java_DEPS)
+add-deps = $(javahl_callback_java_DEPS) $(javahl_remote_java_DEPS)
+ $(javahl_types_java_DEPS) $(javahl_util_java_DEPS)
+ $(javahl_java_DEPS)
[javahl-compat-tests]
type = java
@@ -650,65 +656,59 @@ sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_COMPAT_JAVAC)
classes = subversion/bindings/javahl/classes
-package-roots = org
+package = org.tigris.subversion.javahl
### Java targets don't do up-to-date checks yet.
#add-deps = javahl-compat-java
add-deps = $(javahl_compat_java_DEPS)
-[javahl-callback-javah]
-type = javah
+[javahl-callback-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.callback
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = UserPasswordCallback.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
-[javahl-remote-javah]
-type = javah
+[javahl-remote-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/remote
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.remote
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = CommitEditor.java RemoteFactory.java RemoteSession.java
+ StateReporter.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
-[javahl-types-javah]
-type = javah
+[javahl-types-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/types
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.types
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = NativeInputStream.java NativeOutputStream.java Revision.java
+ RevisionRangeList.java RuntimeVersion.java VersionExtended.java
+ Version.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
-[javahl-util-javah]
-type = javah
+[javahl-util-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/util
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.util
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
-
-[javahl-javah]
-type = javah
-path = subversion/bindings/javahl/src/org/apache/subversion/javahl
-classes = subversion/bindings/javahl/classes
-headers = subversion/bindings/javahl/include
-package = org.apache.subversion.javahl
-sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = ConfigImpl.java ConfigLib.java DiffLib.java PropLib.java
+ RequestChannel.java ResponseChannel.java SubstLib.java
+ TunnelChannel.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
[libsvnjavahl]
description = Subversion Java HighLevel binding
@@ -717,9 +717,9 @@ path = subversion/bindings/javahl/native
libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
libsvn_subr libsvn_fs aprutil apriconv apr java-sdk
sources = *.cpp jniwrapper/*.cpp
-add-deps = $(javahl_java_DEPS) $(javahl_callback_javah_DEPS)
- $(javahl_remote_javah_DEPS) $(javahl_types_javah_DEPS)
- $(javahl_util_javah_DEPS) $(javahl_javah_DEPS)
+add-deps = $(javahl_java_DEPS) $(javahl_callback_java_DEPS)
+ $(javahl_remote_java_DEPS) $(javahl_types_java_DEPS)
+ $(javahl_util_java_DEPS) $(javahl_java_DEPS)
install = javahl-lib
# need special build rule to include -I$(JDK)/include/jni.h
compile-cmd = $(COMPILE_JAVAHL_CXX)
@@ -727,48 +727,34 @@ link-cmd = $(LINK_JAVAHL_CXX)
# ----------------------------------------------------------------------------
#
-# C++HL targets
+# SVN++ targets
#
-[libsvncxxhl]
-description = Subversion C++ HighLevel bindings
+[libsvnxx]
+description = Subversion C++ bindings
+when = SVN_BUILD_SVNXX
type = lib
-path = subversion/bindings/cxxhl
+path = subversion/bindings/cxx
libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
libsvn_subr libsvn_fs aprutil apriconv apr
sources = src/*.cpp src/aprwrap/*.cpp
-install = cxxhl-lib
+install = svnxx-lib
msvc-static = yes
-compile-cmd = $(COMPILE_CXXHL_CXX)
+compile-cmd = $(COMPILE_SVNXX)
link-cmd = $(LINK_CXX_LIB)
-[cxxhl-tests]
-description = Unit tests for Subversion C++ HighLevel bindings
-when = SVN_USE_GOOGLEMOCK
-type = exe
-path = subversion/bindings/cxxhl
-libs = libsvncxxhl libgooglemock libsvn_subr apr
+[svnxx-tests]
+description = Unit tests for Subversion C++ bindings
+when = SVN_BUILD_SVNXX_TESTS
+type = exe
+path = subversion/bindings/cxx
+libs = libsvnxx
+ libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
+ libsvn_subr libsvn_fs aprutil apriconv apr
sources = tests/*.cpp
-install = cxxhl-tests
-compile-cmd = $(COMPILE_CXXHL_GOOGLEMOCK_CXX)
-link-cmd = $(LINK_CXX)
-
-
-# ----------------------------------------------------------------------------
-#
-# Googlemock targets
-#
-
-[libgooglemock]
-description = Googlemock Library
-when = SVN_USE_GOOGLEMOCK
-type = lib
-path = googlemock
-sources = googletest/src/gtest-all.cc googlemock/src/gmock-all.cc
-install = cxxhl-tests
-msvc-static = yes
-compile-cmd = $(COMPILE_GOOGLEMOCK_CXX)
-link-cmd = $(LINK_CXX_LIB)
+install = svnxx-tests
+compile-cmd = $(COMPILE_SVNXX_TEST)
+link-cmd = $(LINK_SVNXX_TEST)
# ----------------------------------------------------------------------------
#
@@ -1207,6 +1193,14 @@ sources = window-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
+[svndiff-stream-test]
+description = Test svndiff streams
+type = exe
+path = subversion/tests/libsvn_delta
+sources = svndiff-stream-test.c
+install = test
+libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
+
# ----------------------------------------------------------------------------
# Tests for libsvn_client
@@ -1455,7 +1449,8 @@ external-lib = $(SVN_DB_LIBS)
[gnome-keyring]
type = lib
external-lib = $(SVN_GNOME_KEYRING_LIBS)
-pkg-config = gnome-keyring-1
+pkg-config = @SVN_GNOME_KEYRING_PCLIBS@
+pkg-config-private = yes
[kwallet]
type = lib
@@ -1465,6 +1460,14 @@ external-lib = $(SVN_KWALLET_LIBS)
type = lib
external-lib = $(SVN_MAGIC_LIBS)
+[macos-plist]
+type = lib
+external-lib = $(SVN_MACOS_PLIST_LIBS)
+
+[macos-keychain]
+type = lib
+external-lib = $(SVN_MACOS_KEYCHAIN_LIBS)
+
[sasl]
type = lib
external-lib = $(SVN_SASL_LIBS)
@@ -1579,7 +1582,8 @@ libs = __ALL__
conflict-data-test db-test pristine-store-test entries-compat-test
op-depth-test dirent_uri-test wc-queries-test wc-test
auth-test
- parse-diff-test x509-test xml-test afl-x509 compress-test
+ parse-diff-test x509-test xml-test afl-x509 afl-svndiff compress-test
+ svndiff-stream-test
[__MORE__]
type = project
@@ -1620,7 +1624,7 @@ lang = ruby
[__JAVAHL__]
type = project
path = build/win32
-libs = javahl-java javahl-javah libsvnjavahl
+libs = javahl-java libsvnjavahl
[__JAVAHL_TESTS__]
type = project
@@ -1739,3 +1743,12 @@ sources = afl-x509.c
install = test
libs = libsvn_subr apr
testing = skip
+
+[afl-svndiff]
+description = AFL fuzzer for svndiff to txdelta parser
+type = exe
+path = subversion/tests/afl
+sources = afl-svndiff.c
+install = test
+libs = libsvn_delta libsvn_subr apr
+testing = skip
Modified: subversion/branches/addremove/build/PrintPath
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/PrintPath?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/PrintPath (original)
+++ subversion/branches/addremove/build/PrintPath Sat May 23 14:16:56 2020
@@ -1,22 +1,19 @@
#!/bin/sh
#
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
#
# Look for program[s] somewhere in $PATH.
@@ -32,9 +29,6 @@
#
# Initially written by Jim Jagielski for the Apache configuration mechanism
# (with kudos to Kernighan/Pike)
-#
-# This script falls under the Apache License.
-# See http://www.apache.org/docs/LICENSE
##
# Some "constants"
@@ -69,7 +63,7 @@ done
# Finally, we try to determine the best flag to use for
# test/[] to look for an executable file. OS/2 just has '-r'
# but with other OSs, we do some funny stuff to check to see
-# if test/[] knows about -x, which is the preferred flag.
+# if test/[] knows about -x, which is the prefered flag.
##
if [ "x$os" = "xOS/2" ]
Modified: subversion/branches/addremove/build/ac-macros/compiler.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/compiler.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/compiler.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/compiler.m4 Sat May 23 14:16:56 2020
@@ -102,7 +102,7 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
if test "$GXX" = "yes"; then
dnl Find flags to force C++98 mode
dnl g++ and clang++
- SVN_CXXFLAGS_ADD_IFELSE([-std=c++98])
+ SVN_CXXFLAGS_ADD_IFELSE([-std=c++11])
fi
CXXMODEFLAGS="$CXXFLAGS"
@@ -126,18 +126,3 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
fi
])
-
-dnl The KWallet provider needs to use C++11 mode when using KDE 5
-AC_DEFUN([SVN_CXX_MODE_SETUP11],
-[
- CXXFLAGS_KEEP="$CXXFLAGS"
- CXXFLAGS=""
-
- if test "$GXX" = "yes"; then
- SVN_CXXFLAGS_ADD_IFELSE([-std=c++11])
- fi
-
- CXXMODEFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS_KEEP"
- AC_SUBST(CXXMODEFLAGS)
-])
Modified: subversion/branches/addremove/build/ac-macros/find_apr.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/find_apr.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/find_apr.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/find_apr.m4 Sat May 23 14:16:56 2020
@@ -1,21 +1,19 @@
-dnl ===================================================================
-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 -------------------------------------------------------- -*- autoconf -*-
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements. See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl 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 ===================================================================
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+
dnl
dnl find_apr.m4 : locate the APR include files and libraries
dnl
@@ -24,7 +22,8 @@ dnl library. It provides a standardized
dnl embedding APR into the application source, or locating an installed
dnl copy of APR.
dnl
-dnl APR_FIND_APR(srcdir, builddir, implicit-install-check, acceptable-majors)
+dnl APR_FIND_APR(srcdir, builddir, implicit-install-check, acceptable-majors,
+dnl detailed-check)
dnl
dnl where srcdir is the location of the bundled APR source directory, or
dnl empty if source is not bundled.
@@ -41,6 +40,14 @@ dnl If multiple versions are specified
dnl implicit installed search are used, then the first (leftmost) version
dnl in the list that is found will be used. Currently defaults to [0 1].
dnl
+dnl where detailed-check is an M4 macro which sets the apr_acceptable to
+dnl either "yes" or "no". The macro will be invoked for each installed
+dnl copy of APR found, with the apr_config variable set appropriately.
+dnl Only installed copies of APR which are considered acceptable by
+dnl this macro will be considered found. If no installed copies are
+dnl considered acceptable by this macro, apr_found will be set to either
+dnl either "no" or "reconfig".
+dnl
dnl Sets the following variables on exit:
dnl
dnl apr_found : "yes", "no", "reconfig"
@@ -64,7 +71,7 @@ dnl
AC_DEFUN([APR_FIND_APR], [
apr_found="no"
- if test "$ac_cv_emxos2" = "yes"; then
+ if test "$target_os" = "os2-emx"; then
# Scripts don't pass test -x on OS/2
TEST_X="test -f"
else
@@ -91,8 +98,8 @@ AC_DEFUN([APR_FIND_APR], [
AC_MSG_CHECKING(for APR)
AC_ARG_WITH(apr,
- [ --with-apr=PATH prefix for installed APR, path to APR build tree,
- or the full path to apr-config],
+ [ --with-apr=PATH prefix for installed APR or the full path to
+ apr-config],
[
if test "$withval" = "no" || test "$withval" = "yes"; then
AC_MSG_ERROR([--with-apr requires a directory or file to be provided])
@@ -103,16 +110,28 @@ AC_DEFUN([APR_FIND_APR], [
for lookdir in "$withval/bin" "$withval"
do
if $TEST_X "$lookdir/$apr_temp_apr_config_file"; then
- apr_found="yes"
apr_config="$lookdir/$apr_temp_apr_config_file"
+ ifelse([$5], [], [], [
+ apr_acceptable="yes"
+ $5
+ if test "$apr_acceptable" != "yes"; then
+ AC_MSG_WARN([Found APR in $apr_config, but we think it is considered unacceptable])
+ continue
+ fi])
+ apr_found="yes"
break 2
fi
done
done
if test "$apr_found" != "yes" && $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
- apr_found="yes"
apr_config="$withval"
+ ifelse([$5], [], [apr_found="yes"], [
+ apr_acceptable="yes"
+ $5
+ if test "$apr_acceptable" = "yes"; then
+ apr_found="yes"
+ fi])
fi
dnl if --with-apr is used, it is a fatal error for its argument
@@ -121,9 +140,43 @@ AC_DEFUN([APR_FIND_APR], [
AC_MSG_ERROR([the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.])
fi
],[
- dnl if we have a bundled source directory, use it
- if test -d "$1"; then
- apr_temp_abs_srcdir="`cd $1 && pwd`"
+ dnl If we allow installed copies, check those before using bundled copy.
+ if test -n "$3" && test "$3" = "1"; then
+ for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config
+ do
+ if $apr_temp_apr_config_file --help > /dev/null 2>&1 ; then
+ apr_config="$apr_temp_apr_config_file"
+ ifelse([$5], [], [], [
+ apr_acceptable="yes"
+ $5
+ if test "$apr_acceptable" != "yes"; then
+ AC_MSG_WARN([skipped APR at $apr_config, version not acceptable])
+ continue
+ fi])
+ apr_found="yes"
+ break
+ else
+ dnl look in some standard places
+ for lookdir in /usr /usr/local /usr/local/apr /opt/apr; do
+ if $TEST_X "$lookdir/bin/$apr_temp_apr_config_file"; then
+ apr_config="$lookdir/bin/$apr_temp_apr_config_file"
+ ifelse([$5], [], [], [
+ apr_acceptable="yes"
+ $5
+ if test "$apr_acceptable" != "yes"; then
+ AC_MSG_WARN([skipped APR at $apr_config, version not acceptable])
+ continue
+ fi])
+ apr_found="yes"
+ break 2
+ fi
+ done
+ fi
+ done
+ fi
+ dnl if we have not found anything yet and have bundled source, use that
+ if test "$apr_found" = "no" && test -d "$1"; then
+ apr_temp_abs_srcdir="`cd \"$1\" && pwd`"
apr_found="reconfig"
apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apr_version.h\"`"
case $apr_bundled_major in
@@ -143,25 +196,6 @@ AC_DEFUN([APR_FIND_APR], [
apr_config="$1/$apr_temp_apr_config_file"
fi
fi
- if test "$apr_found" = "no" && test -n "$3" && test "$3" = "1"; then
- for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config
- do
- if $apr_temp_apr_config_file --help > /dev/null 2>&1 ; then
- apr_found="yes"
- apr_config="$apr_temp_apr_config_file"
- break
- else
- dnl look in some standard places (apparently not in builtin/default)
- for lookdir in /usr /usr/local /opt/apr /usr/local/apache2 ; do
- if $TEST_X "$lookdir/bin/$apr_temp_apr_config_file"; then
- apr_found="yes"
- apr_config="$lookdir/bin/$apr_temp_apr_config_file"
- break 2
- fi
- done
- fi
- done
- fi
])
AC_MSG_RESULT($apr_found)
Modified: subversion/branches/addremove/build/ac-macros/find_apu.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/find_apu.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/find_apu.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/find_apu.m4 Sat May 23 14:16:56 2020
@@ -1,21 +1,19 @@
-dnl ===================================================================
-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 -------------------------------------------------------- -*- autoconf -*-
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements. See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl 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 ===================================================================
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+
dnl
dnl find_apu.m4 : locate the APR-util (APU) include files and libraries
dnl
@@ -24,7 +22,8 @@ dnl library. It provides a standardized
dnl embedding APU into the application source, or locating an installed
dnl copy of APU.
dnl
-dnl APR_FIND_APU(srcdir, builddir, implicit-install-check, acceptable-majors)
+dnl APR_FIND_APU(srcdir, builddir, implicit-install-check, acceptable-majors,
+dnl detailed-check)
dnl
dnl where srcdir is the location of the bundled APU source directory, or
dnl empty if source is not bundled.
@@ -41,6 +40,14 @@ dnl If multiple versions are specified
dnl implicit installed search are used, then the first (leftmost) version
dnl in the list that is found will be used. Currently defaults to [0 1].
dnl
+dnl where detailed-check is an M4 macro which sets the apu_acceptable to
+dnl either "yes" or "no". The macro will be invoked for each installed
+dnl copy of APU found, with the apu_config variable set appropriately.
+dnl Only installed copies of APU which are considered acceptable by
+dnl this macro will be considered found. If no installed copies are
+dnl considered acceptable by this macro, apu_found will be set to either
+dnl either "no" or "reconfig".
+dnl
dnl Sets the following variables on exit:
dnl
dnl apu_found : "yes", "no", "reconfig"
@@ -73,7 +80,7 @@ dnl
AC_DEFUN([APR_FIND_APU], [
apu_found="no"
- if test "$ac_cv_emxos2" = "yes"; then
+ if test "$target_os" = "os2-emx"; then
# Scripts don't pass test -x on OS/2
TEST_X="test -f"
else
@@ -101,8 +108,8 @@ AC_DEFUN([APR_FIND_APU], [
AC_MSG_CHECKING(for APR-util)
AC_ARG_WITH(apr-util,
- [ --with-apr-util=PATH prefix for installed APU, path to APU build tree,
- or the full path to apu-config],
+ [ --with-apr-util=PATH prefix for installed APU or the full path to
+ apu-config],
[
if test "$withval" = "no" || test "$withval" = "yes"; then
AC_MSG_ERROR([--with-apr-util requires a directory or file to be provided])
@@ -113,16 +120,28 @@ AC_DEFUN([APR_FIND_APU], [
for lookdir in "$withval/bin" "$withval"
do
if $TEST_X "$lookdir/$apu_temp_apu_config_file"; then
- apu_found="yes"
apu_config="$lookdir/$apu_temp_apu_config_file"
+ ifelse([$5], [], [], [
+ apu_acceptable="yes"
+ $5
+ if test "$apu_acceptable" != "yes"; then
+ AC_MSG_WARN([Found APU in $apu_config, but it is considered unacceptable])
+ continue
+ fi])
+ apu_found="yes"
break 2
fi
done
done
if test "$apu_found" != "yes" && $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
- apu_found="yes"
apu_config="$withval"
+ ifelse([$5], [], [apu_found="yes"], [
+ apu_acceptable="yes"
+ $5
+ if test "$apu_acceptable" = "yes"; then
+ apu_found="yes"
+ fi])
fi
dnl if --with-apr-util is used, it is a fatal error for its argument
@@ -131,9 +150,42 @@ AC_DEFUN([APR_FIND_APU], [
AC_MSG_ERROR([the --with-apr-util parameter is incorrect. It must specify an install prefix, a build directory, or an apu-config file.])
fi
],[
- dnl if we have a bundled source directory, use it
- if test -d "$1"; then
- apu_temp_abs_srcdir="`cd $1 && pwd`"
+ if test -n "$3" && test "$3" = "1"; then
+ for apu_temp_apu_config_file in $apu_temp_acceptable_apu_config
+ do
+ if $apu_temp_apu_config_file --help > /dev/null 2>&1 ; then
+ apu_config="$apu_temp_apu_config_file"
+ ifelse([$5], [], [], [
+ apu_acceptable="yes"
+ $5
+ if test "$apu_acceptable" != "yes"; then
+ AC_MSG_WARN([skipped APR-util at $apu_config, version not acceptable])
+ continue
+ fi])
+ apu_found="yes"
+ break
+ else
+ dnl look in some standard places (apparently not in builtin/default)
+ for lookdir in /usr /usr/local /usr/local/apr /opt/apr; do
+ if $TEST_X "$lookdir/bin/$apu_temp_apu_config_file"; then
+ apu_config="$lookdir/bin/$apu_temp_apu_config_file"
+ ifelse([$5], [], [], [
+ apu_acceptable="yes"
+ $5
+ if test "$apu_acceptable" != "yes"; then
+ AC_MSG_WARN([skipped APR-util at $apu_config, version not acceptable])
+ continue
+ fi])
+ apu_found="yes"
+ break 2
+ fi
+ done
+ fi
+ done
+ fi
+ dnl if we have not found anything yet and have bundled source, use that
+ if test "$apu_found" = "no" && test -d "$1"; then
+ apu_temp_abs_srcdir="`cd \"$1\" && pwd`"
apu_found="reconfig"
apu_bundled_major="`sed -n '/#define.*APU_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apu_version.h\"`"
case $apu_bundled_major in
@@ -153,25 +205,6 @@ AC_DEFUN([APR_FIND_APU], [
apu_config="$1/$apu_temp_apu_config_file"
fi
fi
- if test "$apu_found" = "no" && test -n "$3" && test "$3" = "1"; then
- for apu_temp_apu_config_file in $apu_temp_acceptable_apu_config
- do
- if $apu_temp_apu_config_file --help > /dev/null 2>&1 ; then
- apu_found="yes"
- apu_config="$apu_temp_apu_config_file"
- break
- else
- dnl look in some standard places (apparently not in builtin/default)
- for lookdir in /usr /usr/local /opt/apr /usr/local/apache2 ; do
- if $TEST_X "$lookdir/bin/$apu_temp_apu_config_file"; then
- apu_found="yes"
- apu_config="$lookdir/bin/$apu_temp_apu_config_file"
- break 2
- fi
- done
- fi
- done
- fi
])
AC_MSG_RESULT($apu_found)
Modified: subversion/branches/addremove/build/ac-macros/java.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/java.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/java.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/java.m4 Sat May 23 14:16:56 2020
@@ -166,7 +166,7 @@ AC_DEFUN(SVN_FIND_JDK,
# The release for "-source" could actually be greater than that
# of "-target", if we want to cross-compile for lesser JVMs.
if test -z "$JAVAC_FLAGS"; then
- JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.6"
+ JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.8"
if test "$enable_debugging" = "yes"; then
JAVAC_FLAGS="-g -Xlint -Xlint:unchecked -Xlint:serial -Xlint:path $JAVAC_FLAGS"
if test -z "$JAVAC_COMPAT_FLAGS"; then
Modified: subversion/branches/addremove/build/ac-macros/kwallet.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/kwallet.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/kwallet.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/kwallet.m4 Sat May 23 14:16:56 2020
@@ -83,10 +83,6 @@ AC_DEFUN(SVN_LIB_KWALLET,
fi
fi
if test -n "$KDE_CONFIG"; then
- if test $kde_config_name = "kf5-config"; then
- dnl KF5 does not compile with -std=c++98
- SVN_CXX_MODE_SETUP11
- fi
old_CXXFLAGS="$CXXFLAGS"
old_LDFLAGS="$LDFLAGS"
old_LIBS="$LIBS"
Modified: subversion/branches/addremove/build/ac-macros/libsecret.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/libsecret.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/libsecret.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/libsecret.m4 Sat May 23 14:16:56 2020
@@ -54,6 +54,7 @@ AC_DEFUN(SVN_LIB_SECRET,
[Is libsecret support enabled?])
SVN_GNOME_KEYRING_INCLUDES="`$PKG_CONFIG --cflags libsecret-1`"
SVN_GNOME_KEYRING_LIBS="`$PKG_CONFIG --libs libsecret-1`"
+ SVN_GNOME_KEYRING_PCLIBS="libsecret-1"
found_gnome_keyring="yes"
else
if test "$with_gnome_keyring" = "yes"; then
@@ -90,4 +91,5 @@ AC_DEFUN(SVN_LIB_SECRET,
fi
AC_SUBST(SVN_GNOME_KEYRING_INCLUDES)
AC_SUBST(SVN_GNOME_KEYRING_LIBS)
+ AC_SUBST(SVN_GNOME_KEYRING_PCLIBS)
])
Modified: subversion/branches/addremove/build/ac-macros/lz4.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/lz4.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/lz4.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/lz4.m4 Sat May 23 14:16:56 2020
@@ -28,9 +28,21 @@ AC_DEFUN(SVN_LZ4,
AC_ARG_WITH([lz4],
[AS_HELP_STRING([--with-lz4=PREFIX|internal],
[look for lz4 in PREFIX or use the internal code])],
- [lz4_prefix="$withval"],
+ [
+ if test "$withval" = internal; then
+ lz4_prefix=internal
+ elif test "$withval" = yes; then
+ lz4_prefix=std
+ else
+ lz4_prefix="$withval"
+ fi
+ ],
[lz4_prefix=std])
+ if test "$lz4_prefix" = "no"; then
+ dnl The user has tried to disable LZ4
+ AC_MSG_ERROR([Subversion requires LZ4])
+ fi
if test "$lz4_prefix" = "internal"; then
AC_MSG_NOTICE([using internal lz4])
AC_DEFINE([SVN_INTERNAL_LZ4], [1],
@@ -42,28 +54,36 @@ AC_DEFUN(SVN_LZ4,
SVN_LZ4_PREFIX
fi
if test "$lz4_found" != "yes"; then
- AC_MSG_ERROR([Subversion requires LZ4])
+ AC_MSG_ERROR([Subversion requires LZ4 >= r129, or use --with-lz4=internal])
fi
fi
AC_SUBST(SVN_LZ4_INCLUDES)
AC_SUBST(SVN_LZ4_LIBS)
])
+dnl LZ4 changed versioning schemes after r131, the next version being 1.7.3, so
+dnl we need to check for both schemes. We can't use "--atleast-version=1.7.3"
+dnl because that will result in a >= 1 check for the older versioning scheme.
+dnl Instead, fallback to --max-version=3 if the old scheme fails. This gives a
+dnl little room for major version changes, but won't falsely identify old
+dnl versions as supported.
AC_DEFUN(SVN_LZ4_STD,
[
if test -n "$PKG_CONFIG"; then
AC_MSG_CHECKING([for lz4 library via pkg-config])
- if $PKG_CONFIG liblz4 --exists; then
+ if $PKG_CONFIG liblz4 --atleast-version=129 || $PKG_CONFIG liblz4 --max-version=3; then
AC_MSG_RESULT([yes])
lz4_found=yes
SVN_LZ4_INCLUDES=`$PKG_CONFIG liblz4 --cflags`
SVN_LZ4_LIBS=`$PKG_CONFIG liblz4 --libs`
SVN_LZ4_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($SVN_LZ4_LIBS)`"
+ else
+ AC_MSG_RESULT([no])
fi
- else
+ fi
+ if test "$lz4_found" != "yes"; then
AC_MSG_NOTICE([lz4 configuration without pkg-config])
- AC_CHECK_LIB(lz4, LZ4_decompress_safe, [
- AC_MSG_RESULT([yes])
+ AC_CHECK_LIB(lz4, LZ4_compress_default, [
lz4_found=yes
SVN_LZ4_LIBS="-llz4"
])
@@ -77,8 +97,7 @@ AC_DEFUN(SVN_LZ4_PREFIX,
CPPFLAGS="$CPPFLAGS -I$lz4_prefix/include"
save_ldflags="$LDFLAGS"
LDFLAGS="$LDFLAGS -L$lz4_prefix/lib"
- AC_CHECK_LIB(lz4, LZ4_decompress_safe, [
- AC_MSG_RESULT([yes])
+ AC_CHECK_LIB(lz4, LZ4_compress_default, [
lz4_found=yes
SVN_LZ4_INCLUDES="-I$lz4_prefix/include"
SVN_LZ4_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS(-L$lz4_prefix/lib)` -llz4"
Modified: subversion/branches/addremove/build/ac-macros/macosx.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/macosx.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/macosx.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/macosx.m4 Sat May 23 14:16:56 2020
@@ -55,19 +55,8 @@ AC_DEFUN(SVN_LIB_MACOS_PLIST,
#error ProperyList API unavailable.
#endif
]],[[]])],[
- dnl ### Hack. We should only need to pass the -framework options when
- dnl linking libsvn_subr, since it is the only library that uses Keychain.
- dnl
- dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for
- dnl OS X frameworks like it does for normal libraries, so we need to
- dnl explicitly pass the option to all the users of libsvn_subr to allow
- dnl static builds to link successfully.
- dnl
- dnl This does mean that all executables we link will be linked directly
- dnl to these frameworks - even when building shared libraries - but that
- dnl shouldn't cause any problems.
-
- LIBS="$LIBS -framework CoreFoundation"
+ SVN_MACOS_PLIST_LIBS="-framework CoreFoundation"
+ AC_SUBST(SVN_MACOS_PLIST_LIBS)
AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1],
[Is Mac OS property list API available?])
AC_MSG_RESULT([yes])
@@ -97,9 +86,8 @@ AC_DEFUN(SVN_LIB_MACOS_KEYCHAIN,
#error KeyChain API unavailable.
#endif
]],[[]])],[
- dnl ### Hack, see SVN_LIB_MACOS_PLIST
- LIBS="$LIBS -framework Security"
- LIBS="$LIBS -framework CoreServices"
+ SVN_MACOS_KEYCHAIN_LIBS="-framework Security -framework CoreServices"
+ AC_SUBST(SVN_MACOS_KEYCHAIN_LIBS)
AC_DEFINE([SVN_HAVE_KEYCHAIN_SERVICES], [1], [Is Mac OS KeyChain support enabled?])
AC_MSG_RESULT([yes])
],[
Modified: subversion/branches/addremove/build/ac-macros/serf.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/serf.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/serf.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/serf.m4 Sat May 23 14:16:56 2020
@@ -168,8 +168,8 @@ AC_DEFUN(SVN_SERF_PKG_CONFIG,
if $PKG_CONFIG $serf_pc_arg --atleast-version=$serf_check_version; then
AC_MSG_RESULT([yes])
serf_found=yes
- SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags | $SED -e 's/ -D[^ ]*//g' -e 's/^-D[^ ]*//g'`]
- SVN_SERF_LIBS=`$PKG_CONFIG $serf_pc_arg --libs-only-l`
+ SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags-only-I`]
+ SVN_SERF_LIBS=[`$PKG_CONFIG $serf_pc_arg --libs-only-l`]
dnl don't use --libs-only-L because then we might miss some options
LDFLAGS=["$LDFLAGS `$PKG_CONFIG $serf_pc_arg --libs | $SED -e 's/-l[^ ]*//g'`"]
break
Modified: subversion/branches/addremove/build/ac-macros/swig.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/swig.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/swig.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/swig.m4 Sat May 23 14:16:56 2020
@@ -98,209 +98,255 @@ AC_DEFUN(SVN_FIND_SWIG,
AC_MSG_WARN([Detected SWIG version $SWIG_VERSION_RAW])
AC_MSG_WARN([Subversion requires SWIG >= 1.3.24])
fi
+ fi
+
+ SWIG_PY_COMPILE="none"
+ SWIG_PY_LINK="none"
+ SWIG_PY_OPTS="none"
+ SWIG_PY_ERRMSG="check config.log for details"
+ if test "$PYTHON" != "none"; then
+ AC_MSG_NOTICE([Configuring python swig binding])
+
+ AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
+ ac_cv_python_includes="`$PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
+ ])
+ SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
+
+ if test "$ac_cv_python_includes" = "none"; then
+ SWIG_PY_ERRMSG="no distutils found"
+ AC_MSG_WARN([python bindings cannot be built without distutils module])
+ else
+
+ python_header_found="no"
+
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_cv_python_includes"
+ AC_CHECK_HEADER(Python.h, [
+ python_header_found="yes"
+ ])
+ CPPFLAGS="$save_cppflags"
+
+ if test "$python_header_found" = "no"; then
+ SWIG_PY_ERRMSG="no Python.h found"
+ AC_MSG_WARN([Python.h not found; disabling python swig bindings])
+ else
+ SVN_PY3C()
- SWIG_PY_COMPILE="none"
- SWIG_PY_LINK="none"
- if test "$PYTHON" != "none"; then
- AC_MSG_NOTICE([Configuring python swig binding])
-
- AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
- ac_cv_python_includes="`$PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
- ])
- SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
-
- if test "$ac_cv_python_includes" = "none"; then
- AC_MSG_WARN([python bindings cannot be built without distutils module])
+ if test "$py3c_found" = "no"; then
+ SWIG_PY_ERRMSG="py3c library not found"
+ AC_MSG_WARN([py3c library not found; disabling python swig bindings])
+ else
+ AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
+ ac_cv_python_compile="`$PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
+ ])
+ SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
+
+ AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
+ ac_cv_python_link="`$PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
+ ])
+ SWIG_PY_LINK="$ac_cv_python_link"
+
+ AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
+ ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+ ])
+ SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+
+ if test "$SWIG" = "none"; then
+ SWIG_PY_ERRMSG=""
+ else
+ # Look more closely at the SWIG and Python versions to
+ # determine SWIG_PY_OPTS. We can skip this if we already
+ # have the SWIG-generated files.
+ AC_CACHE_CHECK([for Python >= 3], [ac_cv_python_is_py3],[
+ ac_cv_python_is_py3="no"
+ $PYTHON -c 'import sys; sys.exit(0x3000000 > sys.hexversion)' && \
+ ac_cv_python_is_py3="yes"
+ ])
+
+ if test "$ac_cv_python_is_py3" = "yes"; then
+ if test "$SWIG_VERSION" -ge "300010"; then
+ dnl SWIG Python bindings successfully configured, clear the error message dnl
+ SWIG_PY_ERRMSG=""
+ else
+ SWIG_PY_ERRMSG="SWIG version is not suitable"
+ AC_MSG_WARN([Subversion Python bindings for Python 3 require SWIG 3.0.10 or newer])
+ fi
+ if test "$SWIG_VERSION" -lt "400000"; then
+ SWIG_PY_OPTS="-python -py3 -nofastunpack -modern"
+ else
+ SWIG_PY_OPTS="-python -py3 -nofastunpack"
+ fi
+ else
+ if test "$SWIG_VERSION" -lt "400000"; then
+ SWIG_PY_OPTS="-python -classic"
+ dnl SWIG Python bindings successfully configured, clear the error message dnl
+ SWIG_PY_ERRMSG=""
+ else
+ SWIG_PY_OPTS="-python -nofastunpack"
+ SWIG_PY_ERRMSG="SWIG version is not suitable"
+ AC_MSG_WARN([Subversion Python bindings for Python 2 require 1.3.24 <= SWIG < 4.0.0])
+ fi
+ fi
+ fi
+ fi
fi
+ fi
- AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
- ac_cv_python_compile="`$PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
- ])
- SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
-
- AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
- ac_cv_python_link="`$PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
- ])
- SWIG_PY_LINK="$ac_cv_python_link"
-
- AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
- ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
- ])
- SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+ fi
- dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
- dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
- dnl thus the egrep patterns have a + in them.
- SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
- AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
- [svn_cv_pycfmt_apr_int64_t], [
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
- [#include <apr.h>
- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
- [svn_cv_pycfmt_apr_int64_t="L"])
- fi
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
- [#include <apr.h>
- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
- [svn_cv_pycfmt_apr_int64_t="l"])
- fi
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
- [#include <apr.h>
- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
- [svn_cv_pycfmt_apr_int64_t="i"])
- fi
- ])
- CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
- AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
- fi
- AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
- ["$svn_cv_pycfmt_apr_int64_t"],
- [Define to the Python/C API format character suitable]
- [ for apr_int64_t])
+ SWIG_PL_ERRMSG="check config.log for details"
+ if test "$PERL" != "none"; then
+ AC_MSG_CHECKING([perl version])
+ dnl Note that the q() bit is there to avoid unbalanced brackets
+ dnl which m4 really doesn't like.
+ PERL_VERSION="`$PERL -e 'q([[); print $]] * 1000000,$/;'`"
+ AC_MSG_RESULT([$PERL_VERSION])
+ if test "$PERL_VERSION" -ge "5008000"; then
+ SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$PERL -MExtUtils::Embed -e ccopts`"
+ SWIG_PL_LINK="`$PERL -MExtUtils::Embed -e ldopts`"
+ SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
+
+ dnl SWIG Perl bindings successfully configured, clear the error message
+ SWIG_PL_ERRMSG=""
+ else
+ AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
fi
+ fi
- if test "$PERL" != "none"; then
- AC_MSG_CHECKING([perl version])
- dnl Note that the q() bit is there to avoid unbalanced brackets
- dnl which m4 really doesn't like.
- PERL_VERSION="`$PERL -e 'q([[); print $]] * 1000000,$/;'`"
- AC_MSG_RESULT([$PERL_VERSION])
- if test "$PERL_VERSION" -ge "5008000"; then
- SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$PERL -MExtUtils::Embed -e ccopts`"
- SWIG_PL_LINK="`$PERL -MExtUtils::Embed -e ldopts`"
- else
- AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
- fi
+ SWIG_RB_COMPILE="none"
+ SWIG_RB_LINK="none"
+ SWIG_RB_ERRMSG="check config.log for details"
+ if test "$RUBY" != "none"; then
+ if test x"$SWIG_VERSION" = x"3""00""008"; then
+ # Use a local variable to escape the '#' sign.
+ ruby_swig_issue_602='https://subversion.apache.org/docs/release-notes/1.11#ruby-swig-issue-602'
+ AC_MSG_WARN([Ruby bindings are known not to support swig 3.0.8; see $ruby_swig_issue_602])
fi
+ rbconfig="$RUBY -rrbconfig -e "
- SWIG_RB_COMPILE="none"
- SWIG_RB_LINK="none"
- if test "$RUBY" != "none"; then
- rbconfig="$RUBY -rrbconfig -e "
-
- for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
- rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
- do
- rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
- eval "rbconfig_$var_name=\"$rbconfig_tmp\""
- done
-
- AC_MSG_NOTICE([Configuring Ruby SWIG binding])
-
- AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
- if test -d "$rbconfig_rubyhdrdir"; then
- dnl Ruby >=1.9
- svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward"
- if test -d "$rbconfig_rubyarchhdrdir"; then
- dnl Ruby >=2.0
- svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
- else
- svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
- fi
+ for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
+ rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
+ do
+ rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
+ eval "rbconfig_$var_name=\"$rbconfig_tmp\""
+ done
+
+ AC_MSG_NOTICE([Configuring Ruby SWIG binding])
+
+ AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
+ if test -d "$rbconfig_rubyhdrdir"; then
+ dnl Ruby >=1.9
+ svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir"
+ if test -d "$rbconfig_rubyarchhdrdir"; then
+ dnl Ruby >=2.0
+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
else
- dnl Ruby 1.8
- svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
fi
- ])
- SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
-
- AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
- svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
- ])
- SWIG_RB_COMPILE="$svn_cv_ruby_compile"
- SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
- SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
- SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
- dnl FIXME: Check that the compiler for Ruby actually supports this flag
- SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
-
- AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
- svn_cv_ruby_link="`$RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
- $rbconfig_LDSHARED`"
- svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
- svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
- ])
- SWIG_RB_LINK="$svn_cv_ruby_link"
-
- AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
- ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
- ])
- SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
+ else
+ dnl Ruby 1.8
+ svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+ fi
+ ])
+ SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
- AC_MSG_CHECKING([for rb_errinfo])
- old_CFLAGS="$CFLAGS"
- old_LIBS="$LIBS"
- CFLAGS="$CFLAGS $svn_cv_ruby_includes"
- SVN_STRIP_FLAG([CFLAGS], [-ansi])
- SVN_STRIP_FLAG([CFLAGS], [-std=c89])
- SVN_STRIP_FLAG([CFLAGS], [-std=c90])
- LIBS="$SWIG_RB_LIBS"
- AC_LINK_IFELSE([AC_LANG_SOURCE([[
+ AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
+ svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
+ ])
+ SWIG_RB_COMPILE="$svn_cv_ruby_compile"
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
+ SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
+ dnl FIXME: Check that the compiler for Ruby actually supports this flag
+ SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
+
+ AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
+ svn_cv_ruby_link="`$RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
+ $rbconfig_LDSHARED`"
+ svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
+ svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
+ ])
+ SWIG_RB_LINK="$svn_cv_ruby_link"
+
+ AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
+ ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
+ ])
+ SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
+
+ AC_MSG_CHECKING([for rb_errinfo])
+ old_CFLAGS="$CFLAGS"
+ old_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $svn_cv_ruby_includes"
+ SVN_STRIP_FLAG([CFLAGS], [-ansi])
+ SVN_STRIP_FLAG([CFLAGS], [-std=c89])
+ SVN_STRIP_FLAG([CFLAGS], [-std=c90])
+ LIBS="$SWIG_RB_LIBS"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <ruby.h>
int main()
{rb_errinfo();}]])], have_rb_errinfo="yes", have_rb_errinfo="no")
- if test "$have_rb_errinfo" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_RB_ERRINFO], [1],
- [Define to 1 if you have the `rb_errinfo' function.])
- else
- AC_MSG_RESULT([no])
- fi
- CFLAGS="$old_CFLAGS"
- LIBS="$old_LIBS"
-
- AC_CACHE_VAL([svn_cv_ruby_sitedir],[
- svn_cv_ruby_sitedir="$rbconfig_sitedir"
- ])
- AC_ARG_WITH([ruby-sitedir],
- AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
- [install Ruby bindings in SITEDIR
- (default is same as ruby's one)]),
- [svn_ruby_installdir="$withval"],
- [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
-
- AC_MSG_CHECKING([where to install Ruby scripts])
- AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
- svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
- $SED -e "s,^$rbconfig_sitedir,,"`"
- ])
- SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
- AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
+ if test "$have_rb_errinfo" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_RB_ERRINFO], [1],
+ [Define to 1 if you have the `rb_errinfo' function.])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ CFLAGS="$old_CFLAGS"
+ LIBS="$old_LIBS"
- AC_MSG_CHECKING([where to install Ruby extensions])
- AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
- svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
- $SED -e "s,^$rbconfig_sitedir,,"`"
- ])
- SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
- AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir],[
+ svn_cv_ruby_sitedir="$rbconfig_sitedir"
+ ])
+ AC_ARG_WITH([ruby-sitedir],
+ AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
+ [install Ruby bindings in SITEDIR
+ (default is same as ruby's one)]),
+ [svn_ruby_installdir="$withval"],
+ [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
+
+ AC_MSG_CHECKING([where to install Ruby scripts])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
+ svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
+ $SED -e "s,^$rbconfig_sitedir,,"`"
+ ])
+ SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
+ AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
+
+ AC_MSG_CHECKING([where to install Ruby extensions])
+ AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
+ svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
+ $SED -e "s,^$rbconfig_sitedir,,"`"
+ ])
+ SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
+ AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
+
+ AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
+ AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
+ svn_cv_ruby_test_verbose="normal"
+ ])
+ AC_ARG_WITH([ruby-test-verbose],
+ AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
+ [how to use output level for Ruby bindings tests
+ (default is normal)]),
+ [svn_ruby_test_verbose="$withval"],
+ [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
+ SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
+ AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
- AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
- AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
- svn_cv_ruby_test_verbose="normal"
- ])
- AC_ARG_WITH([ruby-test-verbose],
- AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
- [how to use output level for Ruby bindings tests
- (default is normal)]),
- [svn_ruby_test_verbose="$withval"],
- [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
- SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
- AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
- fi
+ dnl SWIG Ruby bindings successfully configured, clear the error message
+ SWIG_RB_ERRMSG=""
fi
AC_SUBST(SWIG)
AC_SUBST(SWIG_PY_INCLUDES)
AC_SUBST(SWIG_PY_COMPILE)
AC_SUBST(SWIG_PY_LINK)
AC_SUBST(SWIG_PY_LIBS)
+ AC_SUBST(SWIG_PY_OPTS)
+ AC_SUBST(SWIG_PY_ERRMSG)
AC_SUBST(SWIG_PL_INCLUDES)
AC_SUBST(SWIG_PL_LINK)
+ AC_SUBST(SWIG_PL_ERRMSG)
AC_SUBST(SWIG_RB_LINK)
AC_SUBST(SWIG_RB_LIBS)
AC_SUBST(SWIG_RB_INCLUDES)
@@ -308,4 +354,5 @@ int main()
AC_SUBST(SWIG_RB_SITE_LIB_DIR)
AC_SUBST(SWIG_RB_SITE_ARCH_DIR)
AC_SUBST(SWIG_RB_TEST_VERBOSE)
+ AC_SUBST(SWIG_RB_ERRMSG)
])
Modified: subversion/branches/addremove/build/ac-macros/utf8proc.m4
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/ac-macros/utf8proc.m4?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/ac-macros/utf8proc.m4 (original)
+++ subversion/branches/addremove/build/ac-macros/utf8proc.m4 Sat May 23 14:16:56 2020
@@ -28,9 +28,21 @@ AC_DEFUN(SVN_UTF8PROC,
AC_ARG_WITH([utf8proc],
[AS_HELP_STRING([--with-utf8proc=PREFIX|internal],
[look for utf8proc in PREFIX or use the internal code])],
- [utf8proc_prefix="$withval"],
+ [
+ if test "$withval" = internal; then
+ utf8proc_prefix=internal
+ elif test "$withval" = yes; then
+ utf8proc_prefix=std
+ else
+ utf8proc_prefix="$withval"
+ fi
+ ],
[utf8proc_prefix=std])
+ if test "$utf8proc_prefix" = "no"; then
+ dnl The user has tried to disable UTF8PROC
+ AC_MSG_ERROR([Subversion requires UTF8PROC])
+ fi
if test "$utf8proc_prefix" = "internal"; then
AC_MSG_NOTICE([using internal utf8proc])
AC_DEFINE([SVN_INTERNAL_UTF8PROC], [1],
@@ -42,7 +54,7 @@ AC_DEFUN(SVN_UTF8PROC,
SVN_UTF8PROC_PREFIX
fi
if test "$utf8proc_found" != "yes"; then
- AC_MSG_ERROR([Subversion requires UTF8PROC])
+ AC_MSG_ERROR([Subversion requires UTF8PROC; install it or re-run configure with "--with-utf8proc=internal"])
fi
fi
AC_SUBST(SVN_UTF8PROC_INCLUDES)
@@ -53,7 +65,6 @@ AC_DEFUN(SVN_UTF8PROC_STD,
[
AC_MSG_NOTICE([utf8proc configuration without pkg-config])
AC_CHECK_LIB(utf8proc, utf8proc_version, [
- AC_MSG_RESULT([yes])
utf8proc_found=yes
SVN_UTF8PROC_LIBS="-lutf8proc"
])
@@ -67,7 +78,6 @@ AC_DEFUN(SVN_UTF8PROC_PREFIX,
save_ldflags="$LDFLAGS"
LDFLAGS="$LDFLAGS -L$utf8proc_prefix/lib"
AC_CHECK_LIB(utf8proc, utf8proc_version, [
- AC_MSG_RESULT([yes])
utf8proc_found=yes
SVN_UTF8PROC_INCLUDES="-I$utf8proc_prefix/include"
SVN_UTF8PROC_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS(-L$utf8proc_prefix/lib)` -lutf8proc"
Modified: subversion/branches/addremove/build/buildcheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/buildcheck.sh?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/buildcheck.sh (original)
+++ subversion/branches/addremove/build/buildcheck.sh Sat May 23 14:16:56 2020
@@ -76,26 +76,12 @@ fi
echo "buildcheck: autoheader version $ah_version (ok)"
#--------------------------------------------------------------------------
-# libtool 1.4 or newer
+# libtool 2.0 or newer
#
-LIBTOOL_WANTED_MAJOR=1
-LIBTOOL_WANTED_MINOR=4
+LIBTOOL_WANTED_MAJOR=2
+LIBTOOL_WANTED_MINOR=0
LIBTOOL_WANTED_PATCH=
-LIBTOOL_WANTED_VERSION=1.4
-
-# The minimum version for source releases is 1.4.3,
-# because it's required by (at least) Solaris.
-if test "$VERSION_CHECK" = "--release"; then
- LIBTOOL_WANTED_PATCH=3
- LIBTOOL_WANTED_VERSION=1.4.3
-else
- case `uname -sr` in
- SunOS\ 5.*)
- LIBTOOL_WANTED_PATCH=3
- LIBTOOL_WANTED_VERSION=1.4.3
- ;;
- esac
-fi
+LIBTOOL_WANTED_VERSION=2.0
# Much like APR except we do not prefer libtool 1 over libtool 2.
libtoolize=${LIBTOOLIZE:-`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`}
Modified: subversion/branches/addremove/build/generator/extractor.py
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/generator/extractor.py?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/generator/extractor.py (original)
+++ subversion/branches/addremove/build/generator/extractor.py Sat May 23 14:16:56 2020
@@ -69,4 +69,6 @@ if __name__ == '__main__':
if os.path.basename(fname) == 'svn_ctype.h':
print('svn_ctype_table = svn_ctype_table_internal CONSTANT')
elif os.path.basename(fname) == 'svn_wc_private.h':
+ # svn_wc__internal_walk_children() is now internal to libsvn_wc
+ # but entries-dump.c still calls it
print('svn_wc__internal_walk_children')
Modified: subversion/branches/addremove/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/generator/gen_base.py?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/generator/gen_base.py (original)
+++ subversion/branches/addremove/build/generator/gen_base.py Sat May 23 14:16:56 2020
@@ -331,7 +331,8 @@ class GeneratorBase:
'\n'.join(lines))
def errno_filter(self, codes):
- return codes
+ # list() to force the generator under python3
+ return list(codes)
class FileSectionOptionEnum(object):
# These are accessed via getattr() later on
@@ -662,7 +663,7 @@ class TargetExe(TargetLinked):
TargetLinked.add_dependencies(self)
# collect test programs
- if 'svnauthz' in self.name: # special case
+ if 'svnauthz' in self.name or 'svnmover' in self.name: # special case
self.gen_obj.test_deps.append(self.filename)
self.gen_obj.test_helpers.append(self.filename)
elif self.install == 'test':
@@ -899,115 +900,67 @@ class TargetJava(TargetLinked):
def __init__(self, name, options, gen_obj):
TargetLinked.__init__(self, name, options, gen_obj)
self.link_cmd = options.get('link-cmd')
- self.packages = options.get('package-roots', '').split()
+ self.package = options.get('package')
self.jar = options.get('jar')
self.deps = [ ]
-
-class TargetJavaHeaders(TargetJava):
- def __init__(self, name, options, gen_obj):
- TargetJava.__init__(self, name, options, gen_obj)
self.objext = '.class'
- self.javah_objext = '.h'
self.headers = options.get('headers')
self.classes = options.get('classes')
- self.package = options.get('package')
- self.output_dir = self.headers
+ self.native = options.get('native', '')
+ self.output_dir = self.classes
+ self.headers_dir = self.headers
def add_dependencies(self):
sources = _collect_paths(self.sources, self.path)
+ native = _collect_paths(self.native, self.path)
+
+ class_pkg_list = self.package.split('.')
+ sourcepath = build_path_split(self.path)[:-len(class_pkg_list)]
+ sourcepath = build_path_join(*sourcepath)
for src, reldir in sources:
if src[-5:] != '.java':
raise GenError('ERROR: unknown file extension on ' + src)
+ sfile = SourceFile(src, reldir)
+ sfile.sourcepath = sourcepath
+
class_name = build_path_basename(src[:-5])
- class_header = build_path_join(self.headers, class_name + '.h')
- class_header_win = build_path_join(self.headers,
- self.package.replace(".", "_")
- + "_" + class_name + '.h')
- class_pkg_list = self.package.split('.')
class_pkg = build_path_join(*class_pkg_list)
class_file = ObjectFile(build_path_join(self.classes, class_pkg,
class_name + self.objext),
- self.when)
+ self.compile_cmd, self.when)
class_file.source_generated = 1
class_file.class_name = class_name
- hfile = HeaderFile(class_header, self.package + '.' + class_name,
- self.compile_cmd)
- hfile.filename_win = class_header_win
- hfile.source_generated = 1
- self.gen_obj.graph.add(DT_OBJECT, hfile, class_file)
- self.deps.append(hfile)
-
- # target (a linked item) depends upon object
- self.gen_obj.graph.add(DT_LINK, self.name, hfile)
-
-
- # collect all the paths where stuff might get built
- ### we should collect this from the dependency nodes rather than
- ### the sources. "what dir are you going to put yourself into?"
- self.gen_obj.target_dirs.append(self.path)
- self.gen_obj.target_dirs.append(self.classes)
- self.gen_obj.target_dirs.append(self.headers)
- for pattern in self.sources.split():
- dirname = build_path_dirname(pattern)
- if dirname:
- self.gen_obj.target_dirs.append(build_path_join(self.path, dirname))
- self.gen_obj.graph.add(DT_INSTALL, self.name, self)
+ self.gen_obj.graph.add(DT_OBJECT, class_file, sfile)
+ self.gen_obj.graph.add(DT_LINK, self.name, class_file)
+ self.deps.append(class_file)
+
+ if (src, reldir) in native:
+ class_header = build_path_join(self.headers, class_name + '.h')
+ class_header_win = build_path_join(self.headers,
+ self.package.replace(".", "_")
+ + "_" + class_name + '.h')
+ hfile = HeaderFile(class_header, self.package + '.' + class_name,
+ self.compile_cmd)
+ hfile.filename_win = class_header_win
+ hfile.source_generated = 1
+ self.gen_obj.graph.add(DT_OBJECT, hfile, sfile)
+ self.deps.append(hfile)
-class TargetJavaClasses(TargetJava):
- def __init__(self, name, options, gen_obj):
- TargetJava.__init__(self, name, options, gen_obj)
- self.objext = '.class'
- self.lang = 'java'
- self.classes = options.get('classes')
- self.output_dir = self.classes
+ # target (a linked item) depends upon object
+ self.gen_obj.graph.add(DT_LINK, self.name, hfile)
- def add_dependencies(self):
- sources = []
- for p in self.path.split():
- sources.extend(_collect_paths(self.sources, p))
-
- for src, reldir in sources:
- if src[-5:] == '.java':
- objname = src[:-5] + self.objext
-
- # As .class files are likely not generated into the same
- # directory as the source files, the object path may need
- # adjustment. To this effect, take "target_ob.classes" into
- # account.
- dirs = build_path_split(objname)
- sourcedirs = dirs[:-1] # Last element is the .class file name.
- while sourcedirs:
- if sourcedirs.pop() in self.packages:
- sourcepath = build_path_join(*sourcedirs)
- objname = build_path_join(self.classes, *dirs[len(sourcedirs):])
- break
- else:
- raise GenError('Unable to find Java package root in path "%s"' % objname)
- else:
- raise GenError('ERROR: unknown file extension on "' + src + '"')
-
- ofile = ObjectFile(objname, self.compile_cmd, self.when)
- sfile = SourceFile(src, reldir)
- sfile.sourcepath = sourcepath
-
- # object depends upon source
- self.gen_obj.graph.add(DT_OBJECT, ofile, sfile)
-
- # target (a linked item) depends upon object
- self.gen_obj.graph.add(DT_LINK, self.name, ofile)
-
- # Add the class file to the dependency tree for this target
- self.deps.append(ofile)
# collect all the paths where stuff might get built
### we should collect this from the dependency nodes rather than
### the sources. "what dir are you going to put yourself into?"
- self.gen_obj.target_dirs.extend(self.path.split())
+ self.gen_obj.target_dirs.append(self.path)
self.gen_obj.target_dirs.append(self.classes)
+ if self.headers:
+ self.gen_obj.target_dirs.append(self.headers)
for pattern in self.sources.split():
dirname = build_path_dirname(pattern)
if dirname:
@@ -1056,8 +1009,7 @@ _build_types = {
'apache-mod': TargetApacheMod,
'shared-only-lib': TargetSharedOnlyLib,
'shared-only-cxx-lib': TargetSharedOnlyCxxLib,
- 'javah' : TargetJavaHeaders,
- 'java' : TargetJavaClasses,
+ 'java' : TargetJava,
'i18n' : TargetI18N,
'sql-header' : TargetSQLHeader,
}
@@ -1321,7 +1273,8 @@ class IncludeDependencyInfo:
Return a dictionary with included full file names as keys and None as
values."""
hdrs = { }
- for line in fileinput.input(fname):
+
+ for line in fileinput.FileInput(fname, openhook=fileinput.hook_encoded("utf-8")):
match = self._re_include.match(line)
if not match:
continue
Modified: subversion/branches/addremove/build/generator/gen_make.py
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/generator/gen_make.py?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/generator/gen_make.py (original)
+++ subversion/branches/addremove/build/generator/gen_make.py Sat May 23 14:16:56 2020
@@ -208,7 +208,9 @@ class Generator(gen_base.GeneratorBase):
swig_lang_deps[objname.lang].append(str(objname))
for lang in self.swig.langs:
- data.swig_langs.append(_eztdata(short=self.swig.short[lang],
+ data.swig_langs.append(_eztdata(name=lang,
+ short=self.swig.short[lang],
+ short_upper=self.swig.short[lang].upper(),
deps=swig_lang_deps[lang]))
########################################
@@ -309,6 +311,8 @@ class Generator(gen_base.GeneratorBase):
ezt_target.link_cmd = target_ob.link_cmd
if hasattr(target_ob, 'output_dir'):
ezt_target.output_dir = target_ob.output_dir
+ if hasattr(target_ob, 'headers_dir'):
+ ezt_target.headers_dir = target_ob.headers_dir
# Add additional install dependencies if necessary
if target_ob.add_install_deps:
@@ -443,7 +447,7 @@ class Generator(gen_base.GeneratorBase):
### we should turn AREA into an object, then test it instead of this
if area[:5] == 'swig-' and area[-4:] != '-lib' \
or area[:7] == 'javahl-' \
- or area[:6] == 'cxxhl-' \
+ or area[:6] == 'svnxx-' \
or area == 'tools':
ezt_area.extra_install = 'yes'
@@ -507,7 +511,10 @@ class Generator(gen_base.GeneratorBase):
standalone.write('top_srcdir = .\n')
standalone.write('top_builddir = .\n')
standalone.write('SWIG = swig\n')
- standalone.write('PYTHON = python\n')
+ swig_py_opts = os.environ.get('SWIG_PY_OPTS',
+ '-python -py3 -nofastunpack -modern')
+ standalone.write('SWIG_PY_OPTS = %s\n' % (swig_py_opts))
+ standalone.write('PYTHON = ' + sys.executable + '\n')
standalone.write('\n')
standalone.write(open("build-outputs.mk","r").read())
standalone.close()
@@ -631,9 +638,10 @@ DIR=`pwd`
lib_deps=[],
lib_required=[],
lib_required_private=[],
+ version=self.version,
)
- # libsvn_foo -> -lsvn_foo
- data.lib_deps.append('-l%s' % lib_name.replace('lib', '', 1))
+ # libsvn_foo -> -lsvn_foo-1
+ data.lib_deps.append('-l%s-%s' % (lib_name.replace('lib', '', 1), data.version))
for lib_dep in lib_deps.split():
if lib_dep == 'apriconv':
# apriconv is part of apr-util, skip it
Modified: subversion/branches/addremove/build/generator/gen_vcnet_vcproj.py
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/generator/gen_vcnet_vcproj.py?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/generator/gen_vcnet_vcproj.py (original)
+++ subversion/branches/addremove/build/generator/gen_vcnet_vcproj.py Sat May 23 14:16:56 2020
@@ -120,10 +120,13 @@ class Generator(gen_win.WinGeneratorBase
'instrument_purify_quantify' : self.instrument_purify_quantify,
'version' : self.vcproj_version,
'toolset_version' : 'v' + self.vcproj_version.replace('.',''),
+ 'user_macros': self.user_macros,
}
if self.vcproj_extension == '.vcproj':
self.write_with_template(fname, 'templates/vcnet_vcproj.ezt', data)
+ self.write_with_template(os.path.splitext(fname)[0] + '.vsprops',
+ 'templates/vcnet_vsprops.ezt', data)
else:
self.write_with_template(fname, 'templates/vcnet_vcxproj.ezt', data)
self.write_with_template(fname + '.filters', 'templates/vcnet_vcxproj_filters.ezt', data)
@@ -283,3 +286,11 @@ class Generator(gen_win.WinGeneratorBase
}
self.write_with_template('subversion_vcnet.sln', 'templates/vcnet_sln.ezt', data)
+
+ def quote_define(self, value):
+ "Properly quote special characters in a define (if needed)"
+
+ if self.vcproj_extension == '.vcproj':
+ return value.replace('"', '""')
+ else:
+ return value
Modified: subversion/branches/addremove/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/generator/gen_win.py?rev=1878061&r1=1878060&r2=1878061&view=diff
==============================================================================
--- subversion/branches/addremove/build/generator/gen_win.py (original)
+++ subversion/branches/addremove/build/generator/gen_win.py Sat May 23 14:16:56 2020
@@ -158,6 +158,13 @@ class WinGeneratorBase(gen_win_dependenc
### implement this from scratch using the algorithms described in
### http://www.webdav.org/specs/draft-leach-uuids-guids-01.txt
+ # Ensure data is in byte representation. If it doesn't have an encode
+ # attribute, assume it is already in the correct form.
+ try:
+ data = data.encode('utf8')
+ except AttributeError:
+ pass
+
myhash = hashlib_md5(data).hexdigest()
guid = ("{%s-%s-%s-%s-%s}" % (myhash[0:8], myhash[8:12],
@@ -217,7 +224,6 @@ class WinGeneratorBase(gen_win_dependenc
if 'java_sdk' not in self._libraries:
install_targets = [x for x in install_targets
if not (isinstance(x, gen_base.TargetJava)
- or isinstance(x, gen_base.TargetJavaHeaders)
or x.name == '__JAVAHL__'
or x.name == '__JAVAHL_TESTS__'
or x.name == 'libsvnjavahl')]
@@ -332,11 +338,9 @@ class WinGeneratorBase(gen_win_dependenc
sources = [ ]
javac_exe = "javac"
- javah_exe = "javah"
jar_exe = "jar"
if self.jdk_path:
javac_exe = os.path.join(self.jdk_path, "bin", javac_exe)
- javah_exe = os.path.join(self.jdk_path, "bin", javah_exe)
jar_exe = os.path.join(self.jdk_path, "bin", jar_exe)
if not isinstance(target, gen_base.TargetProject):
@@ -345,25 +349,13 @@ class WinGeneratorBase(gen_win_dependenc
ctarget = None
cdesc = None
cignore = None
- if isinstance(target, gen_base.TargetJavaHeaders):
- classes = self.path(target.classes)
- if self.junit_path is not None:
- classes = "%s;%s" % (classes, self.junit_path)
-
- headers = self.path(target.headers)
- classname = target.package + "." + source.class_name
-
- cbuild = "%s -verbose -force -classpath %s -d %s %s" \
- % (self.quote(javah_exe), self.quote(classes),
- self.quote(headers), classname)
-
- ctarget = self.path(object.filename_win)
- cdesc = "Generating %s" % (object.filename_win)
-
- elif isinstance(target, gen_base.TargetJavaClasses):
+ if isinstance(target, gen_base.TargetJava):
classes = targetdir = self.path(target.classes)
if self.junit_path is not None:
classes = "%s;%s" % (classes, self.junit_path)
+ headers = ''
+ if target.headers is not None:
+ headers = '-h %s' % self.quote(self.path(target.headers))
sourcepath = self.path(source.sourcepath)
@@ -373,17 +365,21 @@ class WinGeneratorBase(gen_win_dependenc
per_project_flags += "-Xlint:-deprecation -Xlint:-dep-ann" \
" -Xlint:-rawtypes"
- cbuild = ("%s -g -Xlint -Xlint:-options " +
- per_project_flags +
- " -target 1.5 -source 1.5 -classpath "
+ cbuild = ("%s -g -Xlint -Xlint:-options %s %s "
+ " -target 1.8 -source 1.8 -classpath "
" %s -d %s "
" -sourcepath %s $(InputPath)") \
- % tuple(map(self.quote, (javac_exe, classes,
- targetdir, sourcepath)))
+ % (self.quote(javac_exe), per_project_flags, headers,
+ self.quote(classes), self.quote(targetdir),
+ self.quote(sourcepath))
- ctarget = self.path(object.filename)
- cdesc = "Compiling %s" % (source)
+ if isinstance(object, gen_base.HeaderFile):
+ ctarget = self.path(object.filename_win)
+ cdesc = "Generating %s" % (object.filename_win)
+ else:
+ ctarget = self.path(object.filename)
+ cdesc = "Compiling %s" % (source)
rsrc = self.path(str(source))
if quote_path and '-' in rsrc:
@@ -403,7 +399,7 @@ class WinGeneratorBase(gen_win_dependenc
custom_desc=cdesc, ignored = cignore,
extension=os.path.splitext(rsrc)[1]))
- if isinstance(target, gen_base.TargetJavaClasses) and target.jar:
+ if isinstance(target, gen_base.TargetJava) and target.jar:
classdir = self.path(target.classes)
jarfile = msvc_path_join(classdir, target.jar)
cbuild = "%s cf %s -C %s %s" \
@@ -507,9 +503,7 @@ class WinGeneratorBase(gen_win_dependenc
return name[0] + '.pdb'
def get_output_dir(self, target):
- if isinstance(target, gen_base.TargetJavaHeaders):
- return msvc_path("../" + target.headers)
- elif isinstance(target, gen_base.TargetJavaClasses):
+ if isinstance(target, gen_base.TargetJava):
return msvc_path("../" + target.classes)
else:
return msvc_path(target.path)
@@ -749,9 +743,14 @@ class WinGeneratorBase(gen_win_dependenc
if target.name.endswith('svn_subr'):
fakedefines.append("SVN_USE_WIN32_CRASHHANDLER")
+ fakedefines.append(self.quote_define('SVN_WIN32_CRASHREPORT_EMAIL="users@subversion.apache.org"'))
return fakedefines
+ def quote_define(self, value):
+ "Properly quote special characters in a define (if needed)"
+ return value
+
def get_win_includes(self, target, cfg='Release'):
"Return the list of include directories for target"
@@ -786,13 +785,17 @@ class WinGeneratorBase(gen_win_dependenc
else:
lang_subdir = target.lang
+ if target.lang == "python":
+ lib = self._libraries['py3c']
+ fakeincludes.extend(lib.include_dirs)
+
# After the language specific includes include the generic libdir,
# to allow overriding a generic with a per language include
fakeincludes.append(os.path.join(self.swig_libdir, lang_subdir))
fakeincludes.append(self.swig_libdir)
- if 'cxxhl' in target.name:
- fakeincludes.append("subversion/bindings/cxxhl/include")
+ if 'svnxx' in target.name:
+ fakeincludes.append("subversion/bindings/cxx/include")
return gen_base.unique(map(self.apath, fakeincludes))