Author: gstein
Date: Thu Dec 14 07:42:34 2023
New Revision: 1914650
URL: http://svn.apache.org/viewvc?rev=1914650&view=rev
Log:
Add a second test for the mailer.py script, using revisions from
Apache Subversion itself, rather than mocked up revisions.
* subversion/tools/hook-scripts/mailer/tests:
(svn:ignore): ignore some artifacts from the t1 and t2 tests
* subversion/tools/hook-scripts/mailer/tests/mailer-t2.sh:
(..): new. fetch a set of dumpfiles for various revisions-of-interest
from the primary repository. Use these to construct some local
repositories. Run the mailer script on the revisions, and compare
the result against the reference/expected result.
* subversion/tools/hook-scripts/mailer/tests/t2-reference:
(..): new. expected mailer output for each revision-of-interest
Added:
subversion/trunk/tools/hook-scripts/mailer/tests/mailer-t2.sh (with props)
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1849322
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1884610
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1902575
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1912632
Modified:
subversion/trunk/tools/hook-scripts/mailer/tests/ (props changed)
Propchange: subversion/trunk/tools/hook-scripts/mailer/tests/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 14 07:42:34 2023
@@ -0,0 +1,3 @@
+mailer-t1.current
+mailer-init.*
+t2-root
Added: subversion/trunk/tools/hook-scripts/mailer/tests/mailer-t2.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/tests/mailer-t2.sh?rev=1914650&view=auto
==============================================================================
--- subversion/trunk/tools/hook-scripts/mailer/tests/mailer-t2.sh (added)
+++ subversion/trunk/tools/hook-scripts/mailer/tests/mailer-t2.sh Thu Dec 14
07:42:34 2023
@@ -0,0 +1,116 @@
+#!/bin/sh
+#
+# USAGE: ./mailer-t2.sh
+#
+# Uses some interesting revisions for testing:
+# r1849322 -- copied from; removals
+# r1884610 -- copied unchanged; file removed
+# r1902575 -- add with props
+# r1912632 -- many files modified
+#
+
+SVNRDUMP="/usr/bin/svnrdump"
+SVNADMIN="/usr/bin/svnadmin"
+SVNDUMPFILTER="/usr/bin/svndumpfilter"
+
+ROOT_URL="https://svn.apache.org/repos/asf/subversion/trunk"
+
+THIS_DIR=$(dirname "$0")
+THIS_DIR=$(cd "$THIS_DIR" && pwd)
+
+MAILER="$THIS_DIR"/../mailer.py
+CONFIG="$THIS_DIR"/../mailer.conf.example
+
+T2_ROOT="$THIS_DIR"/t2-root
+if (mkdir "$T2_ROOT" 2> /dev/null) || /bin/false; then
+ echo "Created: $T2_ROOT"
+else
+ echo "Exists: $T2_ROOT"
+fi
+cd "$T2_ROOT"
+
+REPOS_DIR="$T2_ROOT"/repos
+
+REV1=1849322 ; DUMP1=dump.${REV1}.gz
+REV2=1884610 ; DUMP2=dump.${REV2}.gz
+REV3=1902575 ; DUMP3=dump.${REV3}.gz
+REV4=1912632 ; DUMP4=dump.${REV4}.gz
+
+if test ! -f $DUMP1 ; then
+ # We need some historical revisions for the copies in $REV1.
+ # Just get content from the subdir with the bulk of changes,
+ # and then filter out empty revisions.
+ RPREV=1849295
+ echo Fetching r$RPREV:r$REV1 ...
+ $SVNRDUMP dump -r $RPREV:$REV1 $ROOT_URL/subversion/bindings \
+ | $SVNDUMPFILTER include --drop-empty-revs / \
+ | gzip --best \
+ > $DUMP1
+fi
+if test ! -f $DUMP2 ; then
+ echo Fetching r$REV2 ...
+ RPREV=$(($REV2 - 1))
+ $SVNRDUMP dump -r $RPREV:$REV2 $ROOT_URL | gzip --best > $DUMP2
+fi
+if test ! -f $DUMP3 ; then
+ echo Fetching r$REV3 ...
+ RPREV=$(($REV3 - 1))
+ $SVNRDUMP dump -r $RPREV:$REV3 $ROOT_URL | gzip --best > $DUMP3
+fi
+if test ! -f $DUMP4 ; then
+ echo Fetching r$REV4 ...
+ RPREV=$(($REV4 - 1))
+ $SVNRDUMP dump -r $RPREV:$REV4 $ROOT_URL | gzip --best > $DUMP4
+fi
+
+if test ! -d ./repos.$REV1 ; then
+ echo Creating repos for $REV1 ...
+ $SVNADMIN create ./repos.$REV1
+ gunzip --to-stdout $DUMP1 | $SVNADMIN load --quiet ./repos.$REV1
+fi
+# The revision of interest in this repository: r28
+$MAILER commit ./repos.$REV1 28 $CONFIG > output.$REV1
+if cmp --quiet output.$REV1 ../t2-reference/output.$REV1; then
+ echo SUCCESS for $REV1
+else
+ echo FAIL -- differences detected for $REV1
+fi
+
+if test ! -d ./repos.$REV2 ; then
+ echo Creating repos for $REV2 ...
+ $SVNADMIN create ./repos.$REV2
+ gunzip --to-stdout $DUMP2 | $SVNADMIN load --quiet ./repos.$REV2
+fi
+# The revision of interest in this repository: r2
+$MAILER commit ./repos.$REV2 2 $CONFIG > output.$REV2
+if cmp --quiet output.$REV2 ../t2-reference/output.$REV2; then
+ echo SUCCESS for $REV2
+else
+ echo FAIL -- differences detected for $REV2
+fi
+
+if test ! -d ./repos.$REV3 ; then
+ echo Creating repos for $REV3 ...
+ $SVNADMIN create ./repos.$REV3
+ gunzip --to-stdout $DUMP3 | $SVNADMIN load --quiet ./repos.$REV3
+fi
+# The revision of interest in this repository: r2
+$MAILER commit ./repos.$REV3 2 $CONFIG > output.$REV3
+if cmp --quiet output.$REV3 ../t2-reference/output.$REV3; then
+ echo SUCCESS for $REV3
+else
+ echo FAIL -- differences detected for $REV3
+fi
+
+if test ! -d ./repos.$REV4 ; then
+ echo Creating repos for $REV4 ...
+ $SVNADMIN create ./repos.$REV4
+ gunzip --to-stdout $DUMP4 | $SVNADMIN load --quiet ./repos.$REV4
+fi
+# The revision of interest in this repository: r2
+$MAILER commit ./repos.$REV4 2 $CONFIG > output.$REV4
+if cmp --quiet output.$REV4 ../t2-reference/output.$REV4; then
+ echo SUCCESS for $REV4
+else
+ echo FAIL -- differences detected for $REV4
+fi
Propchange: subversion/trunk/tools/hook-scripts/mailer/tests/mailer-t2.sh
------------------------------------------------------------------------------
svn:executable = *
Added:
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1849322
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1849322?rev=1914650&view=auto
==============================================================================
---
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1849322
(added)
+++
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1849322
Thu Dec 14 07:42:34 2023
@@ -0,0 +1,599 @@
+Group: defaults
+Subject: r28 - in subversion/trunk/subversion/bindings: cxx cxx/include
cxx/include/svncxxhl cxx/include/svnxx cxx/src cxx/src/aprwrap cxx/src/private
cxx/tests cxxhl
+
+Author: brane
+Date: Wed Dec 19 11:03:16 2018
+New Revision: 28
+
+Log:
+Rename the C++HL library to SVN++, renaming files, namespaces and directories.
+
+* Makefile.in
+ (SVNXX_INCLUDES): Renamed and changed from CXXHL_INCLUDES.
+ (COMPILE_SVNXX_CXX): Renamed and changed from COMPILE_CXXHL_CXX.
+* build.conf
+ (options.private-includes): Update C++ bindings' header paths.
+ (libsvnxx): Rename and update target from libsvncxxhl.
+* build/generator/gen_make.py
+ (Generator.write): Use 'svnxx-' instead of 'cxxhl-' for extra-install check.
+* build/generator/gen_win.py
+ (WinGeneratorBase.get_win_includes): Check for 'svnxx', not 'cxxhl'.
+
+* subversion/bindings/cxx/: Renamed from .../bindings/cxxhl/.
+* subversion/bindings/cxx/include/svnxx/: Renamed from .../include/svncxxhl/.
+* subversion/bindings/cxx/include/svnxx.hpp: Renamed from
.../include/svncxxhl.hpp.
+* subversion/bindings/cxx/**: Rename namespaces, include paths and guards.
+
+Added:
+ subversion/trunk/subversion/bindings/cxx/
+ - copied from r27, subversion/trunk/subversion/bindings/cxxhl/
+ subversion/trunk/subversion/bindings/cxx/include/svnxx/
+ - copied from r1,
subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl/
+ subversion/trunk/subversion/bindings/cxx/include/svnxx.hpp
+ - copied, changed from r1,
subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl.hpp
+Deleted:
+ subversion/trunk/subversion/bindings/cxx/include/svncxxhl/
+ subversion/trunk/subversion/bindings/cxx/include/svncxxhl.hpp
+ subversion/trunk/subversion/bindings/cxxhl/
+Modified:
+ subversion/trunk/subversion/bindings/cxx/include/svnxx/_compat.hpp
+ subversion/trunk/subversion/bindings/cxx/include/svnxx/exception.hpp
+ subversion/trunk/subversion/bindings/cxx/include/svnxx/tristate.hpp
+ subversion/trunk/subversion/bindings/cxx/src/aprwrap.hpp
+ subversion/trunk/subversion/bindings/cxx/src/aprwrap/array.hpp
+ subversion/trunk/subversion/bindings/cxx/src/aprwrap/hash.hpp
+ subversion/trunk/subversion/bindings/cxx/src/aprwrap/impl.cpp
+ subversion/trunk/subversion/bindings/cxx/src/aprwrap/pool.hpp
+ subversion/trunk/subversion/bindings/cxx/src/exception.cpp
+ subversion/trunk/subversion/bindings/cxx/src/private.hpp
+ subversion/trunk/subversion/bindings/cxx/src/private/exception-private.hpp
+ subversion/trunk/subversion/bindings/cxx/src/tristate.cpp
+ subversion/trunk/subversion/bindings/cxx/tests/test_exception.cpp
+
+Copied and modified:
subversion/trunk/subversion/bindings/cxx/include/svnxx.hpp (from r1,
subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl.hpp)
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl.hpp Wed Dec
19 06:53:59 2018 (r1, copy source)
++++ subversion/trunk/subversion/bindings/cxx/include/svnxx.hpp Wed Dec 19
11:03:16 2018 (r28)
+@@ -25,13 +25,13 @@
+ #error "This is a C++ header file."
+ #endif
+
+-#ifndef SVN_CXXHL_HPP
+-#define SVN_CXXHL_HPP
++#ifndef SVNXX_HPP
++#define SVNXX_HPP
+
+ // Expose the whole API and alias the default version namespace
+-#include "svncxxhl/exception.hpp"
+-#include "svncxxhl/tristate.hpp"
++#include "svnxx/exception.hpp"
++#include "svnxx/tristate.hpp"
+
+-namespace SVN = ::apache::subversion::cxxhl;
++namespace SVN = ::apache::subversion::svnxx;
+
+-#endif // SVN_CXXHL_HPP
++#endif // SVNXX_HPP
+
+Modified: subversion/trunk/subversion/bindings/cxx/include/svnxx/_compat.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl/_compat.hpp
Wed Dec 19 06:53:59 2018 (r1)
++++ subversion/trunk/subversion/bindings/cxx/include/svnxx/_compat.hpp Wed Dec
19 11:03:16 2018 (r28)
+@@ -25,58 +25,58 @@
+ #error "This is a C++ header file."
+ #endif
+
+-#ifndef SVN_CXXHL_COMPAT_HPP
+-#define SVN_CXXHL_COMPAT_HPP
++#ifndef SVNXX_COMPAT_HPP
++#define SVNXX_COMPAT_HPP
+
+ // Configuration test: std::shared_ptr<> and friends
+ // Currently detects: clang++, g++, msvc-2010+
+-#ifndef SVN_CXXHL_HAVE_STD_SMART_PTRS
++#ifndef SVNXX_HAVE_STD_SMART_PTRS
+ # if (defined(__clang__) && __cplusplus >= 201103L) \
+ || (defined(__GNUC__) && defined(__GXX_EXPERIMENTAL_CXX0X__)) \
+ || (defined(_MSC_VER) && _MSC_VER >= 1600)
+-# define SVN_CXXHL_HAVE_STD_SMART_PTRS
++# define SVNXX_HAVE_STD_SMART_PTRS
+ # endif // config test: std::shared_ptr<>
+-#endif // SVN_CXXHL_HAVE_STD_SMART_PTRS
++#endif // SVNXX_HAVE_STD_SMART_PTRS
+
+ // Configuration test: std::tr1::shared_ptr<> and friends
+ // Currently detects: clang++, g++
+-#ifndef SVN_CXXHL_HAVE_STD_SMART_PTRS
+-# ifndef SVN_CXXHL_HAVE_STD_TR1_SMART_PTRS
++#ifndef SVNXX_HAVE_STD_SMART_PTRS
++# ifndef SVNXX_HAVE_STD_TR1_SMART_PTRS
+ # if defined(__GNUC__) \
+ && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 1)
+-# define SVN_CXXHL_HAVE_STD_TR1_SMART_PTRS
++# define SVNXX_HAVE_STD_TR1_SMART_PTRS
+ # endif // config test: std::tr1::shared_ptr<>
+-# endif // SVN_CXXHL_HAVE_STD_TR1_SMART_PTRS
+-#endif // SVN_CXXHL_HAVE_STD_SMART_PTRS
++# endif // SVNXX_HAVE_STD_TR1_SMART_PTRS
++#endif // SVNXX_HAVE_STD_SMART_PTRS
+
+
+-#if defined(SVN_CXXHL_HAVE_STD_SMART_PTRS)
++#if defined(SVNXX_HAVE_STD_SMART_PTRS)
+
+ #include <memory>
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace compat {
+ using std::weak_ptr;
+ using std::shared_ptr;
+ using std::enable_shared_from_this;
+ } // namespace compat
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#elif defined(SVN_CXXHL_HAVE_STD_TR1_SMART_PTRS)
++#elif defined(SVNXX_HAVE_STD_TR1_SMART_PTRS)
+
+ #include <tr1/memory>
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace compat {
+ using std::tr1::weak_ptr;
+ using std::tr1::shared_ptr;
+ using std::tr1::enable_shared_from_this;
+ } // namespace compat
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+@@ -85,41 +85,41 @@
+ // ::std given known compiler characteristics, then try Boost as a
+ // last resort.
+
+-#define SVN_CXXHL_USING_BOOST
++#define SVNXX_USING_BOOST
+ #include <boost/shared_ptr.hpp>
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace compat {
+ using boost::weak_ptr;
+ using boost::shared_ptr;
+ using boost::enable_shared_from_this;
+ } // namespace compat
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_HAVE_STD_SMART_PTRS
++#endif // SVNXX_HAVE_STD_SMART_PTRS
+
+ // Configuration test: noncopyable mixin.
+-#ifdef SVN_CXXHL_USING_BOOST
++#ifdef SVNXX_USING_BOOST
+
+ #include <boost/noncopyable.hpp>
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace compat {
+ using boost::noncopyable;
+ } // namespace compat
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#else // !SVN_CXXHL_USING_BOOST
++#else // !SVNXX_USING_BOOST
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace compat {
+ namespace noncopyable_
+ {
+@@ -135,10 +135,10 @@
+ } // namespace noncopyable_
+ typedef noncopyable_::noncopyable noncopyable;
+ } // namespace compat
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_USING_BOOST
++#endif // SVNXX_USING_BOOST
+
+-#endif // SVN_CXXHL_COMPAT_HPP
++#endif // SVNXX_COMPAT_HPP
+
+Modified: subversion/trunk/subversion/bindings/cxx/include/svnxx/exception.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl/exception.hpp
Wed Dec 19 06:53:59 2018 (r1)
++++ subversion/trunk/subversion/bindings/cxx/include/svnxx/exception.hpp
Wed Dec 19 11:03:16 2018 (r28)
+@@ -25,19 +25,19 @@
+ #error "This is a C++ header file."
+ #endif
+
+-#ifndef SVN_CXXHL_EXCEPTION_HPP
+-#define SVN_CXXHL_EXCEPTION_HPP
++#ifndef SVNXX_EXCEPTION_HPP
++#define SVNXX_EXCEPTION_HPP
+
+ #include <exception>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+-#include "svncxxhl/_compat.hpp"
++#include "svnxx/_compat.hpp"
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+
+ namespace compat {} // Announce the compat namespace for shared_ptr lookup
+
+@@ -181,8 +181,8 @@
+ {}
+ };
+
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_EXCEPTION_HPP
++#endif // SVNXX_EXCEPTION_HPP
+
+Modified: subversion/trunk/subversion/bindings/cxx/include/svnxx/tristate.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/include/svncxxhl/tristate.hpp
Wed Dec 19 06:53:59 2018 (r1)
++++ subversion/trunk/subversion/bindings/cxx/include/svnxx/tristate.hpp
Wed Dec 19 11:03:16 2018 (r28)
+@@ -25,12 +25,12 @@
+ #error "This is a C++ header file."
+ #endif
+
+-#ifndef SVN_CXXHL_TRISTATE_HPP
+-#define SVN_CXXHL_TRISTATE_HPP
++#ifndef SVNXX_TRISTATE_HPP
++#define SVNXX_TRISTATE_HPP
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+
+ class Tristate
+ {
+@@ -57,8 +57,8 @@
+ short int m_value;
+ };
+
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_TRISTATE_HPP
++#endif // SVNXX_TRISTATE_HPP
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/aprwrap.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/aprwrap.hpp Wed Dec 19
10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/aprwrap.hpp Wed Dec 19
11:03:16 2018 (r28)
+@@ -21,14 +21,14 @@
+ * @endcopyright
+ */
+
+-#ifndef SVN_CXXHL_PRIVATE_APRWRAP_H
+-#define SVN_CXXHL_PRIVATE_APRWRAP_H
++#ifndef SVNXX_PRIVATE_APRWRAP_H
++#define SVNXX_PRIVATE_APRWRAP_H
+
+ // Expose the whole APR wrapper API and alias the namespace
+ #include "aprwrap/pool.hpp"
+ #include "aprwrap/hash.hpp"
+ #include "aprwrap/array.hpp"
+
+-namespace APR = ::apache::subversion::cxxhl::apr;
++namespace APR = ::apache::subversion::svnxx::apr;
+
+-#endif // SVN_CXXHL_PRIVATE_APRWRAP_H
++#endif // SVNXX_PRIVATE_APRWRAP_H
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/aprwrap/array.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/aprwrap/array.hpp Wed Dec
19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/aprwrap/array.hpp Wed Dec
19 11:03:16 2018 (r28)
+@@ -21,8 +21,8 @@
+ * @endcopyright
+ */
+
+-#ifndef SVN_CXXHL_PRIVATE_APRWRAP_ARRAY_H
+-#define SVN_CXXHL_PRIVATE_APRWRAP_ARRAY_H
++#ifndef SVNXX_PRIVATE_APRWRAP_ARRAY_H
++#define SVNXX_PRIVATE_APRWRAP_ARRAY_H
+
+ #include <stdexcept>
+
+@@ -33,7 +33,7 @@
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace apr {
+
+ /**
+@@ -273,8 +273,8 @@
+ };
+
+ } // namespace apr
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_PRIVATE_APRWRAP_HASH_H
++#endif // SVNXX_PRIVATE_APRWRAP_HASH_H
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/aprwrap/hash.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/aprwrap/hash.hpp Wed Dec
19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/aprwrap/hash.hpp Wed Dec
19 11:03:16 2018 (r28)
+@@ -21,15 +21,15 @@
+ * @endcopyright
+ */
+
+-#ifndef SVN_CXXHL_PRIVATE_APRWRAP_HASH_H
+-#define SVN_CXXHL_PRIVATE_APRWRAP_HASH_H
++#ifndef SVNXX_PRIVATE_APRWRAP_HASH_H
++#define SVNXX_PRIVATE_APRWRAP_HASH_H
+
+ #include <apr_hash.h>
+ #include "pool.hpp"
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace apr {
+
+ // Template forward declaration
+@@ -364,8 +364,8 @@
+
+
+ } // namespace apr
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_PRIVATE_APRWRAP_HASH_H
++#endif // SVNXX_PRIVATE_APRWRAP_HASH_H
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/aprwrap/impl.cpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/aprwrap/impl.cpp Wed Dec
19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/aprwrap/impl.cpp Wed Dec
19 11:03:16 2018 (r28)
+@@ -33,7 +33,7 @@
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace apr {
+
+ //
+@@ -67,7 +67,7 @@
+ state = svn_atomic_cas(&init_state, NONE, NONE);
+ }
+ if (state == START)
+- throw cxxhl::InternalError(
++ throw svnxx::InternalError(
+ _("APR pool initialization failed: Timed out"));
+ return root_pool;
+
+@@ -79,7 +79,7 @@
+ return root_pool;
+
+ default:
+- throw cxxhl::InternalError(
++ throw svnxx::InternalError(
+ _("APR pool initialization failed: Invalid state"));
+ }
+ }
+@@ -105,6 +105,6 @@
+ }
+
+ } // namespace apr
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/aprwrap/pool.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/aprwrap/pool.hpp Wed Dec
19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/aprwrap/pool.hpp Wed Dec
19 11:03:16 2018 (r28)
+@@ -21,13 +21,13 @@
+ * @endcopyright
+ */
+
+-#ifndef SVN_CXXHL_PRIVATE_APRWRAP_POOL_H
+-#define SVN_CXXHL_PRIVATE_APRWRAP_POOL_H
++#ifndef SVNXX_PRIVATE_APRWRAP_POOL_H
++#define SVNXX_PRIVATE_APRWRAP_POOL_H
+
+ #include <cstdlib>
+
+-#include "svncxxhl/exception.hpp"
+-#include "svncxxhl/_compat.hpp"
++#include "svnxx/exception.hpp"
++#include "svnxx/_compat.hpp"
+
+ #include "svn_pools.h"
+ #undef TRUE
+@@ -35,7 +35,7 @@
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace apr {
+
+ // Forward declaration
+@@ -191,8 +191,8 @@
+ }
+
+ } // namespace apr
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_PRIVATE_APRWRAP_POOL_H
++#endif // SVNXX_PRIVATE_APRWRAP_POOL_H
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/exception.cpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/exception.cpp Wed Dec
19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/exception.cpp Wed Dec 19
11:03:16 2018 (r28)
+@@ -27,7 +27,7 @@
+ #include <new>
+ #include <sstream>
+
+-#include "svncxxhl/exception.hpp"
++#include "svnxx/exception.hpp"
+ #include "private.hpp"
+ #include "aprwrap.hpp"
+
+@@ -41,7 +41,7 @@
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+
+ namespace detail {
+
+@@ -326,6 +326,6 @@
+ }
+ } // namespace detail
+
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/private.hpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/private.hpp Wed Dec 19
10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/private.hpp Wed Dec 19
11:03:16 2018 (r28)
+@@ -21,9 +21,9 @@
+ * @endcopyright
+ */
+
+-#ifndef SVN_CXXHL_PRIVATE_PRIVATE_H
+-#define SVN_CXXHL_PRIVATE_PRIVATE_H
++#ifndef SVNXX_PRIVATE_PRIVATE_H
++#define SVNXX_PRIVATE_PRIVATE_H
+
+ #include "private/exception-private.hpp"
+
+-#endif // SVN_CXXHL_PRIVATE_PRIVATE_H
++#endif // SVNXX_PRIVATE_PRIVATE_H
+
+Modified:
subversion/trunk/subversion/bindings/cxx/src/private/exception-private.hpp
+==============================================================================
+---
subversion/trunk/subversion/bindings/cxxhl/src/private/exception-private.hpp
Wed Dec 19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/private/exception-private.hpp
Wed Dec 19 11:03:16 2018 (r28)
+@@ -25,14 +25,14 @@
+ #error "This is a C++ header file."
+ #endif
+
+-#ifndef SVN_CXXHL_PRIVATE_EXCEPTION_HPP
+-#define SVN_CXXHL_PRIVATE_EXCEPTION_HPP
++#ifndef SVNXX_PRIVATE_EXCEPTION_HPP
++#define SVNXX_PRIVATE_EXCEPTION_HPP
+
+ #include "svn_error.h"
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+ namespace detail {
+
+ /**
+@@ -42,8 +42,8 @@
+ void checked_call(svn_error_t* err);
+
+ } // namespace detail
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+-#endif // SVN_CXXHL_PRIVATE_EXCEPTION_HPP
++#endif // SVNXX_PRIVATE_EXCEPTION_HPP
+
+Modified: subversion/trunk/subversion/bindings/cxx/src/tristate.cpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/src/tristate.cpp Wed Dec
19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/src/tristate.cpp Wed Dec 19
11:03:16 2018 (r28)
+@@ -21,7 +21,7 @@
+ * @endcopyright
+ */
+
+-#include "svncxxhl/tristate.hpp"
++#include "svnxx/tristate.hpp"
+
+ #include "svn_types.h"
+ #undef TRUE
+@@ -29,7 +29,7 @@
+
+ namespace apache {
+ namespace subversion {
+-namespace cxxhl {
++namespace svnxx {
+
+ Tristate::Tristate(short value) throw()
+ : m_value(value)
+@@ -39,6 +39,6 @@
+ const Tristate Tristate::FALSE = Tristate(svn_tristate_false);
+ const Tristate Tristate::UNKNOWN = Tristate(svn_tristate_unknown);
+
+-} // namespace cxxhl
++} // namespace svnxx
+ } // namespace subversion
+ } // namespace apache
+
+Modified: subversion/trunk/subversion/bindings/cxx/tests/test_exception.cpp
+==============================================================================
+--- subversion/trunk/subversion/bindings/cxxhl/tests/test_exception.cpp
Wed Dec 19 10:49:47 2018 (r27)
++++ subversion/trunk/subversion/bindings/cxx/tests/test_exception.cpp Wed Dec
19 11:03:16 2018 (r28)
+@@ -25,7 +25,7 @@
+ #include <ios>
+ #include <iostream>
+
+-#include "svncxxhl.hpp"
++#include "svnxx.hpp"
+ #include "../src/private.hpp"
+
+ #include <apr.h>
Added:
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1884610
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1884610?rev=1914650&view=auto
==============================================================================
---
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1884610
(added)
+++
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1884610
Thu Dec 14 07:42:34 2023
@@ -0,0 +1,1036 @@
+Group: defaults
+Subject: r2 - in subversion/trunk: . build/ac-macros subversion/bindings/swig
+
+Author: futatuki
+Date: Fri Dec 18 09:32:35 2020
+New Revision: 2
+
+Log:
+Distinguish configure scripts on release mode and non release mode.
+
+Although makefiles in Subversion's release tarball do not support generating
+SWIG language bindings C source files using swig, the configure scripts
+shipped with the release tarball had an option to specify how to find
+SWIG executable, and checked it. To avoid this, we introduce "release mode"
+to the configure script and hide the option and code to check a SWIG
+executable on it.
+
+* . (svn:ignore):
+ Ignore aclocal.m4.
+* Makefile.in (local-extraclean):
+ Clean up aclocal.m4.
+* aclocal.m4.in ():
+ Renamed from aclocal.m4
+* autogen.sh ():
+ Write an macro "SVN_RELEASE_MODE" definition to aclocal.m4 if --release
+ is specfied on the command line.
+* build/ac-macros/swig.m4
+ (): Also mension about Perl and Ruby.
+ (SVN_CHECK_SWIG):
+ - Hide --with-swig option in release mode.
+ - Check SWIG executable only if non release mode and at least one of
+ SWIG bindings is specfied to be built.
+ (SVN_FIND_SWIG):
+ Move checks for each bindings into new macro SVN_DETERMINE_SWIG_OPTS.
+ (SVN_DETERMINE_SWIG_OPTS): New macro split from SVN_FIND_SWIG.
+ - When not in release mode, warn if Perl/Python/Ruby interpreter is set but
+ SWIG is not found. Also do not build them with make swig-pl/make swig-py/
+ make swig-rb in this case.
+ - Check swig version only when it is needed and when not in release mode.
+* configure.ac ():
+ - Tweak help string for --with-swig-perl, --with-swig-python,
+ --with-swig-ruby.
+ - Warn if --with-swig-perl is not specified but variable 'PERL' is set.
+ - Warn if --with-swig-ruby is not specified but variable 'RUBY' is set,
+ even the value is not 'no' nor 'none'.
+* subversion/bindings/swig/INSTALL (Step 2):
+ Mention that configure and makefiles in the release tarball don't
+ support generating SWIG bindings C source files.
+
+Review by: brane
+ (commit message, help string, and the structure of
+ SVN_CHECK_SWIG macro)
+
+Added:
+ subversion/trunk/aclocal.m4.in
+ - copied unchanged from r1, subversion/trunk/aclocal.m4
+Deleted:
+ subversion/trunk/aclocal.m4
+Modified:
+ subversion/trunk/ (props changed)
+ subversion/trunk/Makefile.in
+ subversion/trunk/autogen.sh
+ subversion/trunk/build/ac-macros/swig.m4
+ subversion/trunk/configure.ac
+ subversion/trunk/subversion/bindings/swig/INSTALL
+
+Modified: subversion/trunk/Makefile.in
+==============================================================================
+--- subversion/trunk/Makefile.in Fri Dec 18 08:23:03 2020 (r1)
++++ subversion/trunk/Makefile.in Fri Dec 18 09:32:35 2020 (r2)
+@@ -478,6 +478,7 @@
+ local-extraclean: extraclean-bindings local-distclean
+ rm -f $(top_srcdir)/build-outputs.mk \
+ $(top_srcdir)/subversion/svn_private_config.h.in \
++ $(top_srcdir)/aclocal.m4 \
+ $(top_srcdir)/configure \
+ $(top_srcdir)/gen-make.opts \
+ $(top_srcdir)/build/config.guess \
+
+Copied: subversion/trunk/aclocal.m4.in (from r1, subversion/trunk/aclocal.m4)
+==============================================================================
+--- /dev/null 00:00:00 1970 (empty, because file is newly added)
++++ subversion/trunk/aclocal.m4.in Fri Dec 18 09:32:35 2020 (r2,
copy of r1, subversion/trunk/aclocal.m4)
+@@ -0,0 +1,61 @@
++#
++#
++# 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.
++#
++#
++# aclocal.m4: Supplementary macros used by Subversion's configure.ac
++#
++# These are here rather than directly in configure.ac, since this prevents
++# comments in the macro files being copied into configure.ac, producing
++# useless bloat. (This is significant - a 12kB reduction in size!)
++
++# Include macros distributed by the APR project
++sinclude(build/ac-macros/find_apr.m4)
++sinclude(build/ac-macros/find_apu.m4)
++
++# Include Subversion's own custom macros
++sinclude(build/ac-macros/svn-macros.m4)
++
++sinclude(build/ac-macros/apache.m4)
++sinclude(build/ac-macros/apr.m4)
++sinclude(build/ac-macros/aprutil.m4)
++sinclude(build/ac-macros/apr_memcache.m4)
++sinclude(build/ac-macros/ax_boost_base.m4)
++sinclude(build/ac-macros/ax_boost_unit_test_framework.m4)
++sinclude(build/ac-macros/berkeley-db.m4)
++sinclude(build/ac-macros/compiler.m4)
++sinclude(build/ac-macros/ctypesgen.m4)
++sinclude(build/ac-macros/java.m4)
++sinclude(build/ac-macros/sasl.m4)
++sinclude(build/ac-macros/serf.m4)
++sinclude(build/ac-macros/sqlite.m4)
++sinclude(build/ac-macros/py3c.m4)
++sinclude(build/ac-macros/swig.m4)
++sinclude(build/ac-macros/zlib.m4)
++sinclude(build/ac-macros/lz4.m4)
++sinclude(build/ac-macros/kwallet.m4)
++sinclude(build/ac-macros/libsecret.m4)
++sinclude(build/ac-macros/utf8proc.m4)
++sinclude(build/ac-macros/macosx.m4)
++
++# Include the libtool macros
++sinclude(build/libtool.m4)
++sinclude(build/ltoptions.m4)
++sinclude(build/ltsugar.m4)
++sinclude(build/ltversion.m4)
++sinclude(build/lt~obsolete.m4)
+
+Modified: subversion/trunk/autogen.sh
+==============================================================================
+--- subversion/trunk/autogen.sh Fri Dec 18 08:23:03 2020 (r1)
++++ subversion/trunk/autogen.sh Fri Dec 18 09:32:35 2020 (r2)
+@@ -51,6 +51,17 @@
+ ;;
+ esac
+ done
++
++# Generate aclocal.m4
++cp -f aclocal.m4.in aclocal.m4
++if test -n "$RELEASE_MODE"; then
++ cat <<EOF >>aclocal.m4
++
++# Generated by 'autogen.sh --release'
++AC_DEFUN([SVN_RELEASE_MODE],[1])
++EOF
++fi
++
+ # ### The order of parameters is important; buildcheck.sh depends on it and
+ # ### we don't want to copy the fancy option parsing loop there. For the
+ # ### same reason, all parameters should be quoted, so that buildcheck.sh
+
+Modified: subversion/trunk/build/ac-macros/swig.m4
+==============================================================================
+--- subversion/trunk/build/ac-macros/swig.m4 Fri Dec 18 08:23:03 2020
(r1)
++++ subversion/trunk/build/ac-macros/swig.m4 Fri Dec 18 09:32:35 2020
(r2)
+@@ -22,29 +22,39 @@
+ dnl if it is, then check to see if we have the correct version of python.
+ dnl
+ dnl if we do, then set up the appropriate SWIG_ variables to build the
+-dnl python bindings.
++dnl Python, Perl, and Ruby bindings.
+
+ AC_DEFUN(SVN_CHECK_SWIG,
+ [
+- AC_ARG_WITH(swig,
+- AS_HELP_STRING([--with-swig=PATH],
+- [Try to use 'PATH/bin/swig' to build the
+- swig bindings. If PATH is not specified,
+- look for a 'swig' binary in your PATH.]),
++ m4_ifndef([SVN_RELEASE_MODE],
+ [
+- case "$withval" in
++ AC_ARG_WITH(swig,
++ AS_HELP_STRING([--with-swig=PATH],
++ [Try to use 'PATH/bin/swig' to build the
++ swig bindings. If PATH is not specified,
++ look for a 'swig' binary in your PATH.]),
++ [
++ case "$withval" in
+ yes)
+ svn_find_swig_arg=required
+ ;;
+ *)
+ svn_find_swig_arg=$withval
+ ;;
+- esac
+- ],
+- [
+- svn_find_swig_arg=check
++ esac
++ ],
++ [
++ if test "$SWIG_PY_PYTHON" != "none" \
++ || test "$SWIG_PL_PERL" != "none" \
++ || test "$SWIG_RB_RUBY" != "none" ; then
++ svn_find_swig_arg=check
++ else
++ svn_find_swig_arg=no
++ fi
++ ])
++ SVN_FIND_SWIG($svn_find_swig_arg)
+ ])
+- SVN_FIND_SWIG($svn_find_swig_arg)
++ SVN_DETERMINE_SWIG_OPTS
+ ])
+
+ AC_DEFUN(SVN_FIND_SWIG,
+@@ -93,92 +103,104 @@
+ 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 "$SWIG_PY_PYTHON" != "none"; then
+- AC_MSG_NOTICE([Configuring python swig binding])
+
+- AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
+- ac_cv_python_includes="`$SWIG_PY_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])
++AC_DEFUN(SVN_DETERMINE_SWIG_OPTS,
++[
++ m4_ifndef([SVN_RELEASE_MODE],
++ [
++ # not in release mode
++ SWIG_PY_COMPILE="none"
++ SWIG_PY_LINK="none"
++ SWIG_PY_OPTS="none"
++ SWIG_PY_ERRMSG="check config.log for details"
++ if test "$SWIG_PY_PYTHON" = "none"; then
++ SWIG_PY_ERRMSG="You specfied not to build Python bindings or \
++suitable Python interpreter is not found."
+ 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])
++ if test "$SWIG" = "none"; then
++ AC_MSG_WARN([You specified to build SWIG Python bindings, but SWIG is
not found.])
++ SWIG_PY_ERRMSG="SWIG is need to build SWIG Python bindings, but it is
not found."
+ else
+- SVN_PY3C()
++ AC_MSG_NOTICE([Configuring python swig binding])
+
+- if test "$py3c_found" = "no"; then
+- SWIG_PY_ERRMSG="py3c library not found"
+- AC_MSG_WARN([py3c library not found; disabling python swig
bindings])
++ AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
++ ac_cv_python_includes="`$SWIG_PY_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
+- AC_CACHE_CHECK([for compiling Python extensions],
[ac_cv_python_compile],[
+- ac_cv_python_compile="`$SWIG_PY_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="`$SWIG_PY_PYTHON
${abs_srcdir}/build/get-py-info.py --link`"
+- ])
+- SWIG_PY_LINK="$ac_cv_python_link"
++ python_header_found="no"
+
+- AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
+- ac_cv_python_libs="`$SWIG_PY_PYTHON
${abs_srcdir}/build/get-py-info.py --libs`"
++ save_cppflags="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $ac_cv_python_includes"
++ AC_CHECK_HEADER(Python.h, [
++ python_header_found="yes"
+ ])
+- SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
++ CPPFLAGS="$save_cppflags"
+
+- if test "$SWIG" = "none"; then
+- SWIG_PY_ERRMSG=""
++ 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
+- # 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"
+- $SWIG_PY_PYTHON -c 'import sys; sys.exit(0x3000000 >
sys.hexversion)' && \
+- ac_cv_python_is_py3="yes"
+- ])
++ SVN_PY3C()
+
+- 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
++ 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
+- 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=""
++ AC_CACHE_CHECK([for compiling Python extensions],
[ac_cv_python_compile],[
++ ac_cv_python_compile="`$SWIG_PY_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="`$SWIG_PY_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="`$SWIG_PY_PYTHON
${abs_srcdir}/build/get-py-info.py --libs`"
++ ])
++
SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
++
++ # 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"
++ $SWIG_PY_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
+- 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])
++ 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
+@@ -186,151 +208,373 @@
+ fi
+ fi
+
+- fi
++ SWIG_PL_ERRMSG="check config.log for details"
++ if test "$SWIG_PL_PERL" = "none"; then
++ SWIG_PL_ERRMSG="You specfied not to build Perl bindings or \
++suitable Perl interpreter is not found."
++ else
++ if test "$SWIG" = "none"; then
++ AC_MSG_WARN([You specified to build SWIG Perl bindings, but SWIG is
not found.])
++ SWIG_PL_ERRMSG="SWIG is need to build SWIG Perl bindings, but it is
not found."
++ else
++ 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="`$SWIG_PL_PERL -e 'q([[); print $]] * 1000000,$/;'`"
++ AC_MSG_RESULT([$PERL_VERSION])
++ if test "$PERL_VERSION" -ge "5008000"; then
++ SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$SWIG_PL_PERL
-MExtUtils::Embed -e ccopts`"
++ SWIG_PL_LINK="`$SWIG_PL_PERL -MExtUtils::Embed -e ldopts`"
++ SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
+
+- SWIG_PL_ERRMSG="check config.log for details"
+- if test "$SWIG_PL_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="`$SWIG_PL_PERL -e 'q([[); print $]] * 1000000,$/;'`"
+- AC_MSG_RESULT([$PERL_VERSION])
+- if test "$PERL_VERSION" -ge "5008000"; then
+- SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$SWIG_PL_PERL -MExtUtils::Embed -e
ccopts`"
+- SWIG_PL_LINK="`$SWIG_PL_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
++ fi
+
+- dnl SWIG Perl bindings successfully configured, clear the error message
+- SWIG_PL_ERRMSG=""
++ SWIG_RB_COMPILE="none"
++ SWIG_RB_LINK="none"
++ SWIG_RB_ERRMSG="check config.log for details"
++ if test "$SWIG_RB_RUBY" = "none"; then
++ SWIG_RB_ERRMSG="You specfied not to build Ruby bindings or \
++suitable Ruby interpreter is not found."
+ else
+- AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
+- fi
+- fi
++ if test "$SWIG" = "none"; then
++ AC_MSG_WARN([You specified to build SWIG Ruby bindings, but SWIG is
not found.])
++ SWIG_RB_ERRMSG="SWIG is need to build SWIG Ruby bindings, but it is
not found."
++ else
++ 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="$SWIG_RB_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"
++ 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
++ else
++ dnl Ruby 1.8
++ svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
++ fi
++ ])
++ SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
+
+- SWIG_RB_COMPILE="none"
+- SWIG_RB_LINK="none"
+- SWIG_RB_ERRMSG="check config.log for details"
+- if test "$SWIG_RB_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])
++ 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="`$SWIG_RB_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])
++
++ 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])
++
++ dnl SWIG Ruby bindings successfully configured, clear the error
message
++ SWIG_RB_ERRMSG=""
++ fi
+ fi
+- rbconfig="$SWIG_RB_RUBY -rrbconfig -e "
++ ],
++ [
++ # in release mode
++ SWIG_PY_COMPILE="none"
++ SWIG_PY_LINK="none"
++ SWIG_PY_OPTS="none"
++ SWIG_PY_ERRMSG="check config.log for details"
++ if test "$SWIG_PY_PYTHON" = "none"; then
++ SWIG_PY_ERRMSG="You specfied not to build Python bindings or \
++suitable Python interpreter is not found."
++ else
++ AC_MSG_NOTICE([Configuring python swig binding])
++
++ AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
++ ac_cv_python_includes="`$SWIG_PY_PYTHON
${abs_srcdir}/build/get-py-info.py --includes`"
++ ])
++ SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
+
+- 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"
++ 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
+- svn_cv_ruby_includes="$svn_cv_ruby_includes
-I$rbconfig_rubyhdrdir/$rbconfig_arch"
++
++ 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()
++
++ 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="`$SWIG_PY_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="`$SWIG_PY_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="`$SWIG_PY_PYTHON
${abs_srcdir}/build/get-py-info.py --libs`"
++ ])
++ SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
++
++ SWIG_PY_ERRMSG=""
++ fi
++ fi
+ fi
++ fi
++
++ SWIG_PL_ERRMSG="check config.log for details"
++ if test "$SWIG_PL_PERL" = "none"; then
++ SWIG_PL_ERRMSG="You specfied not to build Perl bindings or \
++suitable Perl interpreter is not found."
+ else
+- dnl Ruby 1.8
+- svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
++ 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="`$SWIG_PL_PERL -e 'q([[); print $]] * 1000000,$/;'`"
++ AC_MSG_RESULT([$PERL_VERSION])
++ if test "$PERL_VERSION" -ge "5008000"; then
++ SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$SWIG_PL_PERL -MExtUtils::Embed
-e ccopts`"
++ SWIG_PL_LINK="`$SWIG_PL_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
+- ])
+- 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="`$SWIG_RB_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"
++ SWIG_RB_COMPILE="none"
++ SWIG_RB_LINK="none"
++ SWIG_RB_ERRMSG="check config.log for details"
++ if test "$SWIG_RB_RUBY" = "none"; then
++ SWIG_RB_ERRMSG="You specfied not to build Ruby bindings or \
++suitable Ruby interpreter is not found."
++ else
++ rbconfig="$SWIG_RB_RUBY -rrbconfig -e "
+
+- 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)`"
++ 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
++ svn_cv_ruby_includes="$svn_cv_ruby_includes
-I$rbconfig_rubyhdrdir/$rbconfig_arch"
++ fi
++ 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="`$SWIG_RB_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"
++ 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])
++ 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([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])
+
+- dnl SWIG Ruby bindings successfully configured, clear the error message
+- SWIG_RB_ERRMSG=""
+- 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)
+
+Modified: subversion/trunk/configure.ac
+==============================================================================
+--- subversion/trunk/configure.ac Fri Dec 18 08:23:03 2020 (r1)
++++ subversion/trunk/configure.ac Fri Dec 18 09:32:35 2020 (r2)
+@@ -1321,21 +1321,36 @@
+
+ AC_ARG_WITH(swig_perl,
+ [AS_HELP_STRING([[--with-swig-perl[=PATH|auto|no]|--without-swig-perl]],
+- [specify path to SWIG bindings target Perl interpreter
[default=auto]])],
++ [Specify path to SWIG bindings target Perl interpreter
++ [default=auto]. If the option value is 'auto' or it is not
++ specfied, search for the Perl program.]
++ m4_ifndef([SVN_RELEASE_MODE],
++ [[Implies --with-swig=yes if PATH is specfied or Perl
++ is found on 'auto' detection.]]))
++],
+ [],
+ [
+-if test "$PERL" = "no" -o "$PERL" = "none"; then
+- with_swig_perl=no
+- AC_MSG_WARN([Disabling the SWIG Perl bindings' build by setting the PERL])
+- AC_MSG_WARN([environment variable to "none" is deprecated.])
+- AC_MSG_WARN([])
+- AC_MSG_WARN([Please use --without-swig-perl instead.])
++if test -n "$PERL"; then
++ if test "$PERL" = "no" -o "$PERL" = "none"; then
++ with_swig_perl=no
++ AC_MSG_WARN([Disabling the SWIG Perl bindings' build by setting the PERL])
++ AC_MSG_WARN([environment variable to "none" is deprecated.])
++ AC_MSG_WARN([])
++ AC_MSG_WARN([Please use --without-swig-perl instead.])
++ else
++ with_swig_perl=auto
++ AC_MSG_WARN([Specfying the Perl path for SWIG Perl bindings' build])
++ AC_MSG_WARN([by setting the PERL environment variable is deprecated.])
++ AC_MSG_WARN([])
++ AC_MSG_WARN([Please use --with-swig-perl=PATH instead.])
++ fi
+ else
+ with_swig_perl=auto
+ fi
+ ])
+ case $with_swig_perl in
+ yes|auto|"")
++ # honor PERL variable only if it is set and is full path.
+ AC_PATH_PROG(PERL, perl, none)
+ SWIG_PL_PERL="$PERL"
+ ;;
+@@ -1351,14 +1366,16 @@
+ # Python: as a target of SWIG Python bindings
+ AC_ARG_WITH(swig_python,
+ [AS_HELP_STRING([[--with-swig-python[=PATH|auto|no]|--without-swig-python]],
+- [specify path to SWIG bindings target Python interpreter
[default=auto]])],
++ [Specify path to SWIG bindings target Python interpreter
++ [default=auto]. If the option value is 'auto' or it is not
++ specfied, search for the Python program.]
++ m4_ifndef([SVN_RELEASE_MODE],
++ [[Implies --with-swig=yes if PATH is specfied or Python
++ is found on 'auto' detection.]]))
++],
+ [],
+ [
+-if test "$PYTHON" = "no" -o "$PYTHON" = "none"; then
+- with_swig_python=no
+-else
+ with_swig_python=auto
+-fi
+ ])
+ case $with_swig_python in
+ yes|auto|"")
+@@ -1375,21 +1392,36 @@
+
+ AC_ARG_WITH(swig_ruby,
+ [AS_HELP_STRING([[--with-swig-ruby[=PATH|auto|no]|--without-swig-ruby]],
+- [specify path to SWIG bindings target Ruby interpreter
[default=auto]])],
++ [specify path to SWIG bindings target Ruby interpreter
++ [default=auto]. If the option value is 'auto' or it is not
++ specfied, search for the Ruby program.]
++ m4_ifndef([SVN_RELEASE_MODE],
++ [[Implies --with-swig=yes if PATH is specfied or Ruby
++ is found on 'auto' detection.]]))
++],
+ [],
+ [
+-if test "$RUBY" = "no" -o "$RUBY" = "none"; then
+- with_swig_ruby=no
+- AC_MSG_WARN([Disabling the SWIG Ruby bindings' build by setting the RUBY])
+- AC_MSG_WARN([environment variable to "none" is deprecated.])
+- AC_MSG_WARN([])
+- AC_MSG_WARN([Please use --without-swig-ruby instead.])
++if test -n "$RUBY"; then
++ if test "$RUBY" = "no" -o "$RUBY" = "none"; then
++ with_swig_ruby=no
++ AC_MSG_WARN([Disabling the SWIG Ruby bindings' build by setting the RUBY])
++ AC_MSG_WARN([environment variable to "none" is deprecated.])
++ AC_MSG_WARN([])
++ AC_MSG_WARN([Please use --without-swig-ruby instead.])
++ else
++ with_swig_ruby="$RUBY"
++ AC_MSG_WARN([Specfying the Ruby path for SWIG Ruby bindings' build])
++ AC_MSG_WARN([by setting the RUBY environment variable is deprecated.])
++ AC_MSG_WARN([])
++ AC_MSG_WARN([Please use --with-swig-ruby=PATH instead.])
++ fi
+ else
+ with_swig_ruby=auto
+ fi
+ ])
+ case $with_swig_ruby in
+ yes|auto|"")
++ # honor RUBY variable only if it is set and is full path.
+ AC_PATH_PROGS(RUBY, ruby ruby1 ruby1.8 ruby18 ruby1.9 ruby19 ruby1.9.3
ruby193 ruby2 ruby2.0 ruby20 ruby2.1 ruby21 ruby2.2 ruby22 ruby2.3 ruby23
ruby2.4 ruby24, none)
+ SWIG_RB_RUBY="$RUBY"
+ ;;
+
+Modified: subversion/trunk/subversion/bindings/swig/INSTALL
+==============================================================================
+--- subversion/trunk/subversion/bindings/swig/INSTALL Fri Dec 18 08:23:03
2020 (r1)
++++ subversion/trunk/subversion/bindings/swig/INSTALL Fri Dec 18 09:32:35
2020 (r2)
+@@ -141,7 +141,13 @@
+
+ See Subversion's own INSTALL file for details.
+
+- Make sure that Subversion's ./configure script sees your installed SWIG!
++ If you are using a Subversion distribution tarball and want to rebuild
++ the SWIG language bindings C source files with your installed SWIG,
++ you need to execute autogen.sh, because the bundled configure script
++ and makefiles don't support it.
++
++ If you don't use SWIG bindings C source files already generated,
++ make sure that Subversion's ./configure script sees your installed SWIG!
+ It tries to detect SWIG near the very end of its output.
+ You can find it by running 'grep "^SWIG=" config.log'.
+
Added:
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1902575
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1902575?rev=1914650&view=auto
==============================================================================
---
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1902575
(added)
+++
subversion/trunk/tools/hook-scripts/mailer/tests/t2-reference/output.1902575
Thu Dec 14 07:42:34 2023
@@ -0,0 +1,59 @@
+Group: defaults
+Subject: r2 - subversion/trunk/tools/dist
+
+Author: hartmannathan
+Date: Fri Jul 8 11:41:30 2022
+New Revision: 2
+
+Log:
+* tools/dist/make-keys.sh: Adding make-keys.sh script that was floating
+ around on the mailing list. This generates a KEYS file by fetching the
+ public keys of full committers in COMMITTERS.
+
+Suggested by: dsahlberg
+
+Added:
+ subversion/trunk/tools/dist/make-keys.sh (contents, props changed)
+
+Added: subversion/trunk/tools/dist/make-keys.sh
+==============================================================================
+--- /dev/null 00:00:00 1970 (empty, because file is newly added)
++++ subversion/trunk/tools/dist/make-keys.sh Fri Jul 8 11:41:30 2022
(r2)
+@@ -0,0 +1,37 @@
++#!/bin/sh
++
++# Script to construct a KEYS file by fetching public keys of full
++# committers as listed in the COMMITTERS file from people.apache.org.
++#
++# Based on "a piece of code" posted by danielsh on 22 Mar 2022 in the
++# thread "Questions on Release Management Process":
++#
https://mail-archives.apache.org/mod_mbox/subversion-dev/202203.mbox/%3C20220323035056.GY7687%40tarpaulin.shahaf.local2%3E
++#
++# Run in the top directory of a checkout of SVN's sources, where the
++# COMMITTERS file is located.
++#
++# This will download a bunch of .asc files and then cat them together
++# to form a KEYS file.
++#
++# Requires curl. (Could be reworked to use wget, too, I suppose.)
++
++if [ ! -f COMMITTERS ]; then
++ echo "COMMITTERS file not found."
++ exit 1
++fi
++
++for availid in $( perl -anE 'say $F[0] if (/^Blanket/../END ACTIVE
FULL.*SCRIPTS LOOK FOR IT/ and /@/)' < COMMITTERS )
++do
++ key_url=https://people.apache.org/keys/committer/${availid}.asc
++
++ echo -n "Fetching ${key_url}..."
++ curl -sSfO ${key_url} 2> /dev/null
++
++ if [ $? -eq 0 ]; then
++ echo " OK"
++ else
++ echo " MISSING"
++ fi
++done
++
++cat *.asc > KEYS