You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2013/07/24 15:50:18 UTC
svn commit: r1506554 - in /subversion/trunk: ./ build/generator/
subversion/bindings/swig/ subversion/bindings/swig/include/
subversion/bindings/swig/perl/libsvn_swig_perl/
subversion/bindings/swig/python/libsvn_swig_py/
subversion/bindings/swig/ruby/l...
Author: rhuijben
Date: Wed Jul 24 13:50:17 2013
New Revision: 1506554
URL: http://svn.apache.org/r1506554
Log:
Revert the last few remaining pieces of r850307 (aka r10233), which made the
swig bindings on Windows link the 'core' library as central component from
every other swig library.
In the few months after this commit (read: somewhere in 2004) most of this
change was tweaked and partially reverted, but some magic was left.
Since this didn't work out as planned (as looked at 9 years later), hacks
were applied to work around all this. E.g some bindings forced a shared
library and then used explicit dll exporting/importing on Windows to get
things working.
This patch makes the bindings all use a proper shared library on Windows,
with the function exporting handled via the standard header file system we
use in other places.
* build.conf
(swig_core): Remove keyword that hasn't been used for at least 8 years.
(libsvn_swig_py,
libsvn_swig_perl,
libsvn_swig_ruby): Add svn-exports.
* build/generator/gen_base.py
(TargetLib.disable_shared): New function.
(TargetSWIG.__init__): Remove include_runtime initialization.
(TargetSWIGLib.disable_shared): New function.
* build/generator/gen_win.py
(get_install_targets): Call disable_shared instead of doing half its work locally.
(get_def_file): Remove disable_shared check.
(get_linked_win_depends): Remove disable_shared check.
* subversion/bindings/swig/core.i
(const void *value): Update caller.
(SWIGPERL init): Remove circular dependency hack.
* subversion/bindings/swig/include/svn_types.swg
(SWIGTYPE **OUTPARAM,
POINTER_TYPES,
CALLABLE_CALLBACK,
PY_AS_VOID): Update caller.
* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
(svn_swig_pl_bind_current_pool_fns): Remove
SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK hack.
* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
(svn_swig_pl_bind_current_pool_fns): Remove
SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK hack.
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
(svn_swig_py_get_pool_arg,
svn_swig_py_get_parent_pool): Update caller.
(svn_swig_NewPointerObj): Rename to ...
(svn_swig_py_new_pointer_obj): ... this.
(svn_swig_NewPointerObjString): Rename to ...
(svn_swig_NewPointerObjString): ... this. Update caller.
(svn_swig_ConvertPtr): Rename to ...
(svn_swig_py_convert_ptr): ... this.
(svn_swig_ConvertPtrString): Update caller.
(svn_swig_MustGetPtr): Rename to ...
(svn_swig_py_must_get_ptr): ... this.
(make_ob_pool): Update caller.
(convert_to_swigtype): Update caller.
(DECLARE_SWIG_CONSTRUCTOR): Update caller.
(svn_swig_py_struct_ptr_hash_from_dict): Update caller.
(svn_swig_py_unwrap_struct_ptr): Update caller.
(svn_swig_py_convert_txdelta_op_c_array): Update caller.
(swig_py_ra_reporter2): Make static.
(svn_swig_py_get_ra_reporter2): New function.
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
(SVN_SWIG_SWIGUTIL_EXPORT): Remove definition and all usages.
(svn_swig_NewPointerObj): Rename to ...
(svn_swig_py_new_pointer_obj): ... this.
(svn_swig_ConvertPtr): Rename to ...
(svn_swig_py_convert_ptr): ... this.
(svn_swig_MustGetPtr): Rename to ...
(svn_swig_py_must_get_ptr): ... this.
(svn_swig_py_get_ra_reporter2): New function.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
(SVN_RB_SWIG_SWIGUTIL_EXPORT): Remove definition and all usages.
* subversion/bindings/swig/svn_ra.i
(const svn_ra_reporter2_t *reporter, void *report_baton): Update caller.
* win-tests.py
('perl'): Copy libsvn_swig_perl to $PATH instead of _Core.
Modified:
subversion/trunk/build.conf
subversion/trunk/build/generator/gen_base.py
subversion/trunk/build/generator/gen_win.py
subversion/trunk/subversion/bindings/swig/core.i
subversion/trunk/subversion/bindings/swig/include/svn_types.swg
subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
subversion/trunk/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
subversion/trunk/subversion/bindings/swig/svn_ra.i
subversion/trunk/win-tests.py
Modified: subversion/trunk/build.conf
URL: http://svn.apache.org/viewvc/subversion/trunk/build.conf?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/build.conf (original)
+++ subversion/trunk/build.conf Wed Jul 24 13:50:17 2013
@@ -446,7 +446,6 @@ sources = core.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
libsvn_diff libsvn_subr apr
description = Subversion core library bindings
-include-runtime = yes
[swig_client]
type = swig
@@ -523,6 +522,7 @@ install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
msvc-static = no
+msvc-export = ../bindings/swig/python/libsvn_swig_py/swigutil_py.h
# SWIG utility library for Perl modules
[libsvn_swig_perl]
@@ -533,7 +533,8 @@ libs = libsvn_delta libsvn_subr apriconv
install = swig-pl-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_PL)
-msvc-static = yes
+msvc-static = no
+msvc-export = ../bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
# SWIG utility library for Ruby modules
[libsvn_swig_ruby]
@@ -546,6 +547,7 @@ install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
msvc-static = no
+msvc-export = ../bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
# ----------------------------------------------------------------------------
#
Modified: subversion/trunk/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_base.py?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_base.py (original)
+++ subversion/trunk/build/generator/gen_base.py Wed Jul 24 13:50:17 2013
@@ -589,6 +589,12 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = options.get('msvc-export', '').split()
+ def disable_shared(self):
+ "tries to disable building as a shared library,"
+
+ self.msvc_static = True
+ self.msvc_export = []
+
class TargetApacheMod(TargetLib):
def __init__(self, name, options, gen_obj):
@@ -650,7 +656,6 @@ class TargetSWIG(TargetLib):
TargetLib.__init__(self, name, options, gen_obj)
self.lang = lang
self.desc = self.desc + ' for ' + lang_full_name[lang]
- self.include_runtime = options.get('include-runtime') == 'yes'
### hmm. this is Makefile-specific
self.link_cmd = '$(LINK_%s_WRAPPER)' % lang_abbrev[lang].upper()
@@ -733,6 +738,12 @@ class TargetSWIGLib(TargetLib):
return [ self.target ]
return [ ]
+ def disable_shared(self):
+ "disables building shared libraries"
+
+ return # Explicit NO-OP
+
+
class TargetProject(Target):
def __init__(self, name, options, gen_obj):
Target.__init__(self, name, options, gen_obj)
Modified: subversion/trunk/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_win.py?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_win.py (original)
+++ subversion/trunk/build/generator/gen_win.py Wed Jul 24 13:50:17 2013
@@ -247,7 +247,7 @@ class WinGeneratorBase(gen_win_dependenc
install_targets.append(self.create_fake_target(target))
if target.msvc_export:
if self.disable_shared:
- target.msvc_static = True
+ target.disable_shared()
else:
dll_targets.append(self.create_dll_target(target))
install_targets.extend(dll_targets)
@@ -513,8 +513,7 @@ class WinGeneratorBase(gen_win_dependenc
return self.get_output_dir(target)
def get_def_file(self, target):
- if isinstance(target, gen_base.TargetLib) and target.msvc_export \
- and not self.disable_shared:
+ if isinstance(target, gen_base.TargetLib) and target.msvc_export:
return target.name + ".def"
return None
@@ -676,7 +675,7 @@ class WinGeneratorBase(gen_win_dependenc
# every dll dependency we first check to see if its corresponding
# static library is already in the list of dependencies. If it is,
# we don't add the dll to the list.
- if is_lib and dep.msvc_export and not self.disable_shared:
+ if is_lib and dep.msvc_export:
static_dep = self.graph.get_sources(gen_base.DT_LINK, dep.name)[0]
if static_dep in deps:
continue
Modified: subversion/trunk/subversion/bindings/swig/core.i
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/core.i?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/core.i (original)
+++ subversion/trunk/subversion/bindings/swig/core.i Wed Jul 24 13:50:17 2013
@@ -514,7 +514,8 @@
else if ($input == Py_None) {
$1 = NULL;
}
- else if (svn_swig_ConvertPtr($input, (void **)&$1, $descriptor(svn_auth_ssl_server_cert_info_t *)) == 0) {
+ else if (svn_swig_py_convert_ptr($input, (void **)&$1,
+ $descriptor(svn_auth_ssl_server_cert_info_t *)) == 0) {
}
else {
PyErr_SetString(PyExc_TypeError, "not a known type");
@@ -869,10 +870,8 @@ static void svn_auth_set_gnome_keyring_u
#include "svn_private_config.h"
%}
%init %{
-#if defined(SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK)
svn_swig_pl_bind_current_pool_fns (&svn_swig_pl_get_current_pool,
&svn_swig_pl_set_current_pool);
-#endif
%}
#endif
Modified: subversion/trunk/subversion/bindings/swig/include/svn_types.swg
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/include/svn_types.swg?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/include/svn_types.swg (original)
+++ subversion/trunk/subversion/bindings/swig/include/svn_types.swg Wed Jul 24 13:50:17 2013
@@ -71,8 +71,8 @@
#ifdef SWIGPYTHON
%typemap(argout) SWIGTYPE **OUTPARAM {
- %append_output(svn_swig_NewPointerObj(*$1, $*1_descriptor,
- _global_py_pool, args));
+ %append_output(svn_swig_py_new_pointer_obj(*$1, $*1_descriptor,
+ _global_py_pool, args));
}
#else
%typemap(argout) SWIGTYPE **OUTPARAM {
@@ -508,15 +508,15 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
%typemap(in) POINTER_TYPES
{
- $1 = ($1_ltype)svn_swig_MustGetPtr($input, $descriptor, $svn_argnum);
+ $1 = ($1_ltype)svn_swig_py_must_get_ptr($input, $descriptor, $svn_argnum);
if (PyErr_Occurred()) {
SWIG_fail;
}
}
%typemap(out) POINTER_TYPES
- "$result = svn_swig_NewPointerObj((void*)($1), $descriptor,
- _global_py_pool, args);";
+ "$result = svn_swig_py_new_pointer_obj((void*)($1), $descriptor,
+ _global_py_pool, args);";
%apply POINTER_TYPES { void *, SWIGTYPE *, SWIGTYPE [] };
@@ -635,8 +635,8 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
*/
%typemap(argout) CALLABLE_CALLBACK * {
- %append_output(svn_swig_NewPointerObj($1, $descriptor,
- _global_py_pool, args));
+ %append_output(svn_swig_py_new_pointer_obj($1, $descriptor,
+ _global_py_pool, args));
}
/* Convert the pointer to a function pointer back into a regular
@@ -645,7 +645,7 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
%typemap(in) CALLABLE_CALLBACK {
$<ype tmp =
- svn_swig_MustGetPtr($input, $&descriptor, $svn_argnum);
+ svn_swig_py_must_get_ptr($input, $&descriptor, $svn_argnum);
if (tmp == NULL || PyErr_Occurred()) {
SWIG_fail;
}
@@ -675,8 +675,8 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
SWIG_fail;
}
*tmp = ($ltype) $1;
- $result = svn_swig_NewPointerObj(tmp, $&1_descriptor,
- py_pool, args);
+ $result = svn_swig_py_new_pointer_obj(tmp, $&1_descriptor,
+ py_pool, args);
}
}
@@ -694,7 +694,7 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
*tmp = ($ltype) $value;
%set_constant("$symname",
- svn_swig_NewPointerObj(tmp, $&descriptor, NULL, NULL)
+ svn_swig_py_new_pointer_obj(tmp, $&descriptor, NULL, NULL)
);
}
@@ -997,8 +997,8 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
/* We don't know the type of this reference, so we'll have to
* treat it as an opaque void pointer.
*/
- $result = svn_swig_NewPointerObj($1, $descriptor,
- _global_py_pool, args);
+ $result = svn_swig_py_new_pointer_obj($1, $descriptor,
+ _global_py_pool, args);
}
}
Modified: subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c (original)
+++ subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c Wed Jul 24 13:50:17 2013
@@ -1605,7 +1605,6 @@ svn_boolean_t svn_swig_pl_thunk_config_e
/* default pool support */
-#if defined(SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK)
static svn_swig_pl_get_current_pool_t svn_swig_pl_get_current_pool = NULL;
static svn_swig_pl_set_current_pool_t svn_swig_pl_set_current_pool = NULL;
@@ -1615,11 +1614,6 @@ void svn_swig_pl_bind_current_pool_fns(s
svn_swig_pl_get_current_pool = get;
svn_swig_pl_set_current_pool = set;
}
-#else
-apr_pool_t *svn_swig_pl_get_current_pool(void);
-void svn_swig_pl_set_current_pool(apr_pool_t *pool);
-#endif
-
apr_pool_t *svn_swig_pl_make_pool(SV *obj)
{
Modified: subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h (original)
+++ subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h Wed Jul 24 13:50:17 2013
@@ -59,14 +59,11 @@ extern "C" {
#endif
-
-#if defined(SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK)
typedef apr_pool_t *(*svn_swig_pl_get_current_pool_t)(void);
typedef void (*svn_swig_pl_set_current_pool_t)(apr_pool_t *pool);
void svn_swig_pl_bind_current_pool_fns(svn_swig_pl_get_current_pool_t get,
svn_swig_pl_set_current_pool_t set);
-#endif
apr_pool_t *svn_swig_pl_make_pool(SV *obj);
Modified: subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Wed Jul 24 13:50:17 2013
@@ -152,7 +152,7 @@ int svn_swig_py_get_pool_arg(PyObject *a
PyObject *input = PyTuple_GET_ITEM(args, argnum);
if (input != Py_None && PyObject_HasAttrString(input, markValid))
{
- *pool = svn_swig_MustGetPtr(input, type, argnum+1);
+ *pool = svn_swig_py_must_get_ptr(input, type, argnum+1);
if (*pool == NULL)
return 1;
*py_pool = input;
@@ -163,7 +163,7 @@ int svn_swig_py_get_pool_arg(PyObject *a
/* We couldn't find a pool argument, so we'll create a subpool */
*pool = svn_pool_create(application_pool);
- *py_pool = svn_swig_NewPointerObj(*pool, type, application_py_pool,
+ *py_pool = svn_swig_py_new_pointer_obj(*pool, type, application_py_pool,
NULL);
if (*py_pool == NULL)
return 1;
@@ -190,7 +190,7 @@ int svn_swig_py_get_parent_pool(PyObject
Py_DECREF(*py_pool);
- *pool = svn_swig_MustGetPtr(*py_pool, type, 1);
+ *pool = svn_swig_py_must_get_ptr(*py_pool, type, 1);
if (*pool == NULL)
return 1;
@@ -245,8 +245,8 @@ static int proxy_set_pool(PyObject **pro
#define svn_swig_TypeQuery(x) SWIG_TypeQuery(x)
/** Wrapper for SWIG_NewPointerObj */
-PyObject *svn_swig_NewPointerObj(void *obj, swig_type_info *type,
- PyObject *pool, PyObject *args)
+PyObject *svn_swig_py_new_pointer_obj(void *obj, swig_type_info *type,
+ PyObject *pool, PyObject *args)
{
PyObject *proxy = SWIG_NewPointerObj(obj, type, 0);
@@ -270,7 +270,7 @@ PyObject *svn_swig_NewPointerObj(void *o
return proxy;
}
-/** svn_swig_NewPointerObj, except a string is used to describe the type */
+/** svn_swig_py_new_pointer_obj, except a string is used to describe the type */
static PyObject *svn_swig_NewPointerObjString(void *ptr, const char *type,
PyObject *py_pool)
{
@@ -282,11 +282,11 @@ static PyObject *svn_swig_NewPointerObjS
}
/* ### cache the swig_type_info at some point? */
- return svn_swig_NewPointerObj(ptr, typeinfo, py_pool, NULL);
+ return svn_swig_py_new_pointer_obj(ptr, typeinfo, py_pool, NULL);
}
/** Wrapper for SWIG_ConvertPtr */
-int svn_swig_ConvertPtr(PyObject *input, void **obj, swig_type_info *type)
+int svn_swig_py_convert_ptr(PyObject *input, void **obj, swig_type_info *type)
{
if (PyObject_HasAttrString(input, assertValid))
{
@@ -310,11 +310,11 @@ int svn_swig_ConvertPtr(PyObject *input,
static int svn_swig_ConvertPtrString(PyObject *input,
void **obj, const char *type)
{
- return svn_swig_ConvertPtr(input, obj, svn_swig_TypeQuery(type));
+ return svn_swig_py_convert_ptr(input, obj, svn_swig_TypeQuery(type));
}
/** Wrapper for SWIG_MustGetPtr */
-void *svn_swig_MustGetPtr(void *input, swig_type_info *type, int argnum)
+void *svn_swig_py_must_get_ptr(void *input, swig_type_info *type, int argnum)
{
if (PyObject_HasAttrString(input, assertValid))
{
@@ -443,7 +443,7 @@ static PyObject *make_ob_pool(void *pool
* normally used for anything. It's just here for compatibility
* with Subversion 1.2. */
apr_pool_t *new_pool = svn_pool_create(application_pool);
- PyObject *new_py_pool = svn_swig_NewPointerObj(new_pool,
+ PyObject *new_py_pool = svn_swig_py_new_pointer_obj(new_pool,
svn_swig_TypeQuery("apr_pool_t *"), application_py_pool, NULL);
(void) pool; /* Silence compiler warnings about unused parameter. */
return new_py_pool;
@@ -534,7 +534,7 @@ static PyObject *convert_hash(apr_hash_t
static PyObject *convert_to_swigtype(void *value, void *ctx, PyObject *py_pool)
{
/* ctx is a 'swig_type_info *' */
- return svn_swig_NewPointerObj(value, ctx, py_pool, NULL);
+ return svn_swig_py_new_pointer_obj(value, ctx, py_pool, NULL);
}
static PyObject *convert_svn_string_t(void *value, void *ctx,
@@ -853,7 +853,7 @@ PyObject *svn_swig_py_convert_hash(apr_h
static PyObject *make_ob_##type(void *value) \
{ \
apr_pool_t *new_pool = svn_pool_create(application_pool); \
- PyObject *new_py_pool = svn_swig_NewPointerObj(new_pool, \
+ PyObject *new_py_pool = svn_swig_py_new_pointer_obj(new_pool, \
svn_swig_TypeQuery("apr_pool_t *"), application_py_pool, NULL); \
svn_##type##_t *new_value = dup(value, new_pool); \
PyObject *obj = svn_swig_NewPointerObjString(new_value, "svn_" #type "_t *", \
@@ -1224,7 +1224,7 @@ apr_hash_t *svn_swig_py_struct_ptr_hash_
Py_DECREF(keys);
return NULL;
}
- status = svn_swig_ConvertPtr(value, &struct_ptr, type);
+ status = svn_swig_py_convert_ptr(value, &struct_ptr, type);
if (status != 0)
{
PyErr_SetString(PyExc_TypeError,
@@ -1284,7 +1284,7 @@ svn_swig_py_unwrap_struct_ptr(PyObject *
void **ptr_dest = destination;
swig_type_info *type_descriptor = baton;
- int status = svn_swig_ConvertPtr(source, ptr_dest, type_descriptor);
+ int status = svn_swig_py_convert_ptr(source, ptr_dest, type_descriptor);
if (status != 0)
{
@@ -2223,7 +2223,7 @@ svn_swig_py_convert_txdelta_op_c_array(i
for (i = 0; i < num_ops; ++i)
PyList_SET_ITEM(result, i,
- svn_swig_NewPointerObj(ops + i, op_type_info,
+ svn_swig_py_new_pointer_obj(ops + i, op_type_info,
parent_pool, NULL));
return result;
@@ -4068,7 +4068,7 @@ static svn_error_t *reporter_abort_repor
return err;
}
-const svn_ra_reporter2_t swig_py_ra_reporter2 = {
+static const svn_ra_reporter2_t swig_py_ra_reporter2 = {
reporter_set_path,
reporter_delete_path,
reporter_link_path,
@@ -4076,6 +4076,11 @@ const svn_ra_reporter2_t swig_py_ra_repo
reporter_abort_report
};
+const svn_ra_reporter2_t *svn_swig_py_get_ra_reporter2()
+{
+ return &swig_py_ra_reporter2;
+}
+
/* svn_wc_diff_callbacks2_t */
static svn_error_t *
wc_diff_callbacks2_file_changed_or_added(const char *callback,
Modified: subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h (original)
+++ subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h Wed Jul 24 13:50:17 2013
@@ -40,16 +40,6 @@
#include "svn_repos.h"
/* Define DLL export magic on Windows. */
-#ifdef WIN32
-# ifdef SVN_SWIG_SWIGUTIL_PY_C
-# define SVN_SWIG_SWIGUTIL_EXPORT __declspec(dllexport)
-# else
-# define SVN_SWIG_SWIGUTIL_EXPORT __declspec(dllimport)
-# endif
-#else
-# define SVN_SWIG_SWIGUTIL_EXPORT
-#endif
-
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
@@ -57,27 +47,22 @@ extern "C" {
/* Initialize the libsvn_swig_py library. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_status_t svn_swig_py_initialize(void);
/* Functions to manage python's global interpreter lock */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_release_py_lock(void);
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_acquire_py_lock(void);
/*** Automatic Pool Management Functions ***/
/* Set the application pool */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_set_application_pool(PyObject *py_pool, apr_pool_t *pool);
/* Clear the application pool */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_clear_application_pool(void);
/* Get the pool argument from the last element of tuple args.
@@ -85,7 +70,6 @@ void svn_swig_py_clear_application_pool(
* subpool. Return 0 if successful. Return 1 if an error
* occurs.
*/
-SVN_SWIG_SWIGUTIL_EXPORT
int svn_swig_py_get_pool_arg(PyObject *args, swig_type_info *type,
PyObject **py_pool, apr_pool_t **pool);
@@ -93,7 +77,6 @@ int svn_swig_py_get_pool_arg(PyObject *a
* argument list. Return 0 if successful. Return 1 if an error
* occurs.
*/
-SVN_SWIG_SWIGUTIL_EXPORT
int svn_swig_py_get_parent_pool(PyObject *args, swig_type_info *type,
PyObject **py_pool, apr_pool_t **pool);
@@ -101,54 +84,45 @@ int svn_swig_py_get_parent_pool(PyObject
/*** SWIG Wrappers ***/
/* Wrapper for SWIG_NewPointerObj */
-SVN_SWIG_SWIGUTIL_EXPORT
-PyObject *svn_swig_NewPointerObj(void *obj, swig_type_info *type,
+PyObject *svn_swig_py_new_pointer_obj(void *obj, swig_type_info *type,
PyObject *pool, PyObject *args);
/* Wrapper for SWIG_ConvertPtr */
-SVN_SWIG_SWIGUTIL_EXPORT
-int svn_swig_ConvertPtr(PyObject *input, void **obj, swig_type_info *type);
+int svn_swig_py_convert_ptr(PyObject *input, void **obj, swig_type_info *type);
/* Wrapper for SWIG_MustGetPtr */
-SVN_SWIG_SWIGUTIL_EXPORT
-void *svn_swig_MustGetPtr(void *input, swig_type_info *type, int argnum);
+void *svn_swig_py_must_get_ptr(void *input, swig_type_info *type, int argnum);
/*** Functions to expose a custom SubversionException ***/
/* raise a subversion exception, created from a normal subversion
error. consume the error. */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_svn_exception(svn_error_t *err);
/* helper function to convert an apr_hash_t* (char* -> svnstring_t*) to
a Python dict */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_prophash_to_dict(apr_hash_t *hash);
/* helper function to convert an apr_hash_t* (svn_revnum_t* -> const
char *) to a Python dict */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_locationhash_to_dict(apr_hash_t *hash);
/* helper function to convert an apr_array_header_t* (of
svn_merge_range_t *) to a Python list */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_pointerlist_to_list(apr_array_header_t *list,
swig_type_info *type,
PyObject *py_pool);
/* helper function to convert an apr_hash_t* (const char *->array of
svn_merge_range_t *) to a Python dict */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_mergeinfo_to_dict(apr_hash_t *hash,
swig_type_info *type,
PyObject *py_pool);
/* helper function to convert an apr_hash_t* (const char *->hash of
mergeinfo hashes) to a Python dict */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_mergeinfo_catalog_to_dict(apr_hash_t *hash,
swig_type_info *type,
PyObject *py_pool);
@@ -156,90 +130,75 @@ PyObject *svn_swig_py_mergeinfo_catalog_
/* helper function to convert an apr_hash_t *(const char *->const char
*) to a Python dict */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_stringhash_to_dict(apr_hash_t *hash);
/* convert a hash of 'const char *' -> TYPE into a Python dict */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_convert_hash(apr_hash_t *hash, swig_type_info *type,
PyObject *py_pool);
/* helper function to convert a 'char **' into a Python list of string
objects */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_c_strings_to_list(char **strings);
/* helper function to convert an array of 'const char *' to a Python list
of string objects */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_array_to_list(const apr_array_header_t *strings);
/* helper function to convert a hash mapping char * to
* svn_log_changed_path_t * to a Python dict mapping str to str. */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_changed_path_hash_to_dict(apr_hash_t *hash);
/* helper function to convert a hash mapping char * to
* svn_log_changed_path2_t * to a Python dict mapping str to str. */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_changed_path2_hash_to_dict(apr_hash_t *hash);
/* helper function to convert an array of 'svn_revnum_t' to a Python list
of int objects */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_revarray_to_list(const apr_array_header_t *revs);
/* helper function to convert a Python dictionary mapping strings to
strings into an apr_hash_t mapping const char *'s to const char *'s,
allocated in POOL. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_py_stringhash_from_dict(PyObject *dict,
apr_pool_t *pool);
/* helper function to convert a Python dictionary mapping strings to
rangelists into an apr_hash_t mapping const char *'s to rangelists,
allocated in POOL. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_py_mergeinfo_from_dict(PyObject *dict,
apr_pool_t *pool);
/* helper function to convert a Python dictionary mapping strings to
strings into an 'apr_array_header_t *' of svn_prop_t *
allocated in POOL. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_py_proparray_from_dict(PyObject *dict,
apr_pool_t *pool);
/* helper function to convert a 'apr_array_header_t *' of 'svn_prop_t
to a Python dictionary mapping strings to strings. */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *svn_swig_py_proparray_to_dict(const apr_array_header_t *array);
/* helper function to convert a 'apr_array_header_t *' of
'svn_prop_inherited_item_t' to a Python dictionary mapping strings
to dictionary. */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *
svn_swig_py_propinheriteditemarray_to_dict(const apr_array_header_t *array);
/* helper function to convert a Python dictionary mapping strings to
strings into an apr_hash_t mapping const char *'s to svn_string_t's,
allocated in POOL. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_py_prophash_from_dict(PyObject *dict,
apr_pool_t *pool);
/* helper function to convert a Python dictionary mapping strings to
integers into an apr_hash_t mapping const char *'s to revnums,
allocated in POOL. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_py_path_revs_hash_from_dict(PyObject *dict,
apr_pool_t *pool);
/* helper function to convert a Python dictionary mapping strings to
SWIG wrappers described by type into an apr_hash_t mapping const char *'s to
struct pointers, allocated in POOL. */
-SVN_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_py_struct_ptr_hash_from_dict(PyObject *dict,
swig_type_info *type,
apr_pool_t *pool);
@@ -259,7 +218,6 @@ typedef int (*svn_swig_py_object_unwrap_
In case of failure, raises a Python exception, presuming that seq was the
function argument #argnum.
pool is used to allocate the array. */
-SVN_SWIG_SWIGUTIL_EXPORT
const apr_array_header_t *
svn_swig_py_seq_to_array(PyObject *seq,
int element_size,
@@ -269,7 +227,6 @@ svn_swig_py_seq_to_array(PyObject *seq,
/* An svn_swig_py_object_unwrap_t that extracts a char pointer from a Python
string. */
-SVN_SWIG_SWIGUTIL_EXPORT
int
svn_swig_py_unwrap_string(PyObject *source,
void *destination,
@@ -277,7 +234,6 @@ svn_swig_py_unwrap_string(PyObject *sour
/* An svn_swig_py_object_unwrap_t that extracts an svn_revnum_t from a Python
integer. */
-SVN_SWIG_SWIGUTIL_EXPORT
int
svn_swig_py_unwrap_revnum(PyObject *source,
void *destination,
@@ -285,30 +241,25 @@ svn_swig_py_unwrap_revnum(PyObject *sour
/* An svn_swig_py_object_unwrap_t that extracts a struct pointer from a SWIG
wrapper. baton is expected to be a swig_type_info* describing the struct. */
-SVN_SWIG_SWIGUTIL_EXPORT
int
svn_swig_py_unwrap_struct_ptr(PyObject *source,
void *destination,
void *baton);
/* make an editor that "thunks" from C callbacks up to Python */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_make_editor(const svn_delta_editor_t **editor,
void **edit_baton,
PyObject *py_editor,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
apr_file_t *svn_swig_py_make_file(PyObject *py_file,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_stream_t *svn_swig_py_make_stream(PyObject *py_io,
apr_pool_t *pool);
/* Convert ops, a C array of num_ops elements, to a Python list of SWIG
objects with descriptor op_type_info and pool set to parent_pool. */
-SVN_SWIG_SWIGUTIL_EXPORT
PyObject *
svn_swig_py_convert_txdelta_op_c_array(int num_ops,
svn_txdelta_op_t *ops,
@@ -317,7 +268,6 @@ svn_swig_py_convert_txdelta_op_c_array(i
/* a notify function that executes a Python function that is passed in
via the baton argument */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_notify_func(void *baton,
const char *path,
svn_wc_notify_action_t action,
@@ -327,21 +277,18 @@ void svn_swig_py_notify_func(void *baton
svn_wc_notify_state_t prop_state,
svn_revnum_t revision);
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_notify_func2(void *baton,
const svn_wc_notify_t *notify,
apr_pool_t *pool);
/* a status function that executes a Python function that is passed in
via the baton argument */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_status_func(void *baton,
const char *path,
svn_wc_status_t *status);
/* a svn_delta_path_driver callback that executes a Python function
that is passed in via the baton argument */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_delta_path_driver_cb_func(void **dir_baton,
void *parent_baton,
void *callback_baton,
@@ -350,24 +297,20 @@ svn_error_t *svn_swig_py_delta_path_driv
/* a status function that executes a Python function that is passed in
via the baton argument */
-SVN_SWIG_SWIGUTIL_EXPORT
void svn_swig_py_status_func2(void *baton,
const char *path,
svn_wc_status2_t *status);
/* a cancel function that executes a Python function passed in via the
cancel_baton argument. */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_cancel_func(void *cancel_baton);
/* thunked fs get_locks function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_fs_get_locks_func(void *baton,
svn_lock_t *lock,
apr_pool_t *pool);
/* thunked commit log fetcher */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_get_commit_log_func(const char **log_msg,
const char **tmp_file,
const apr_array_header_t *
@@ -376,7 +319,6 @@ svn_error_t *svn_swig_py_get_commit_log_
apr_pool_t *pool);
/* thunked repos authz callback function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_repos_authz_func(svn_boolean_t *allowed,
svn_fs_root_t *root,
const char *path,
@@ -384,14 +326,12 @@ svn_error_t *svn_swig_py_repos_authz_fun
apr_pool_t *pool);
/* thunked history callback function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_repos_history_func(void *baton,
const char *path,
svn_revnum_t revision,
apr_pool_t *pool);
/* thunked log receiver function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_log_receiver(void *py_receiver,
apr_hash_t *changed_paths,
svn_revnum_t rev,
@@ -401,23 +341,19 @@ svn_error_t *svn_swig_py_log_receiver(vo
apr_pool_t *pool);
/* thunked log receiver2 function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_log_entry_receiver(void *baton,
svn_log_entry_t *log_entry,
apr_pool_t *pool);
/* thunked repos freeze function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_repos_freeze_func(void *baton,
apr_pool_t *pool);
/* thunked fs freeze function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_fs_freeze_func(void *baton,
apr_pool_t *pool);
/* thunked proplist receiver2 function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_proplist_receiver2(void *baton,
const char *path,
apr_hash_t *prop_hash,
@@ -425,21 +361,18 @@ svn_error_t *svn_swig_py_proplist_receiv
apr_pool_t *pool);
/* thunked info receiver function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_info_receiver_func(void *py_receiver,
const char *path,
const svn_info_t *info,
apr_pool_t *pool);
/* thunked location segments receiver function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *
svn_swig_py_location_segment_receiver_func(svn_location_segment_t *segment,
void *baton,
apr_pool_t *pool);
/* thunked blame receiver function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton,
apr_int64_t line_no,
svn_revnum_t revision,
@@ -449,21 +382,18 @@ svn_error_t *svn_swig_py_client_blame_re
apr_pool_t *pool);
/* thunked changelist receiver function */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_changelist_receiver_func(void *baton,
const char *path,
const char *changelist,
apr_pool_t *pool);
/* auth provider callbacks */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t * svn_swig_py_auth_gnome_keyring_unlock_prompt_func(
char **keyring_passwd,
const char *keyring_name,
void *baton,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_auth_simple_prompt_func(
svn_auth_cred_simple_t **cred,
void *baton,
@@ -472,7 +402,6 @@ svn_error_t *svn_swig_py_auth_simple_pro
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_auth_username_prompt_func(
svn_auth_cred_username_t **cred,
void *baton,
@@ -480,7 +409,6 @@ svn_error_t *svn_swig_py_auth_username_p
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_auth_ssl_server_trust_prompt_func(
svn_auth_cred_ssl_server_trust_t **cred,
void *baton,
@@ -490,7 +418,6 @@ svn_error_t *svn_swig_py_auth_ssl_server
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_auth_ssl_client_cert_prompt_func(
svn_auth_cred_ssl_client_cert_t **cred,
void *baton,
@@ -498,7 +425,6 @@ svn_error_t *svn_swig_py_auth_ssl_client
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_auth_ssl_client_cert_pw_prompt_func(
svn_auth_cred_ssl_client_cert_pw_t **cred,
void *baton,
@@ -507,7 +433,6 @@ svn_error_t *svn_swig_py_auth_ssl_client
apr_pool_t *pool);
/* auth cleanup callback */
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_config_auth_walk_func(svn_boolean_t *delete_cred,
void *walk_baton,
const char *cred_kind,
@@ -515,32 +440,27 @@ svn_error_t *svn_swig_py_config_auth_wal
apr_hash_t *hash,
apr_pool_t *scratch_pool);
-SVN_SWIG_SWIGUTIL_EXPORT
void
svn_swig_py_setup_ra_callbacks(svn_ra_callbacks2_t **callbacks,
void **baton,
PyObject *py_callbacks,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_wc_diff_callbacks2_t *
svn_swig_py_setup_wc_diff_callbacks2(void **baton,
PyObject *py_callbacks,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_commit_callback2(const svn_commit_info_t *commit_info,
void *baton,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_commit_callback(svn_revnum_t new_revision,
const char *date,
const char *author,
void *baton);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_ra_file_rev_handler_func(
void *baton,
const char *path,
@@ -551,7 +471,6 @@ svn_error_t *svn_swig_py_ra_file_rev_han
apr_array_header_t *prop_diffs,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_py_ra_lock_callback(
void *baton,
const char *path,
@@ -560,17 +479,14 @@ svn_error_t *svn_swig_py_ra_lock_callbac
svn_error_t *ra_err,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
-extern const svn_ra_reporter2_t swig_py_ra_reporter2;
+const svn_ra_reporter2_t *svn_swig_py_get_ra_reporter2(void);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_boolean_t
svn_swig_py_config_enumerator2(const char *name,
const char *value,
void *baton,
apr_pool_t *pool);
-SVN_SWIG_SWIGUTIL_EXPORT
svn_boolean_t
svn_swig_py_config_section_enumerator2(const char *name,
void *baton,
Modified: subversion/trunk/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h (original)
+++ subversion/trunk/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h Wed Jul 24 13:50:17 2013
@@ -51,17 +51,6 @@
#include "svn_client.h"
#include "svn_repos.h"
-/* Define DLL export magic on Windows. */
-#ifdef WIN32
-# ifdef SVN_SWIG_SWIGUTIL_RB_C
-# define SVN_RB_SWIG_SWIGUTIL_EXPORT __declspec(dllexport)
-# else
-# define SVN_RB_SWIG_SWIGUTIL_EXPORT __declspec(dllimport)
-# endif
-#else
-# define SVN_RB_SWIG_SWIGUTIL_EXPORT
-#endif
-
/* Ruby <=1.8.5 compatibility */
#ifndef RARRAY_LEN
#define RARRAY_LEN(x) RARRAY(x)->len
@@ -95,152 +84,98 @@ typedef struct apr_pool_wrapper_t
apr_array_header_t *children;
} apr_pool_wrapper_t;
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_initialize(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_pool_t *svn_swig_rb_pool(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_allocator_t *svn_swig_rb_allocator(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_svn_delta_editor(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_svn_delta_text_delta_window_handler(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_raise_svn_fs_already_close(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_raise_svn_repos_already_close(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_svn_error_new(VALUE code, VALUE message,
VALUE file, VALUE line, VALUE child);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_svn_error_to_rb_error(svn_error_t *error);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_handle_svn_error(svn_error_t *error);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void *svn_swig_rb_to_swig_type(VALUE value, const void *ctx, apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_from_swig_type(void *value, void *ctx);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_depth_t svn_swig_rb_to_depth(VALUE value);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_mergeinfo_inheritance_t svn_swig_rb_to_mergeinfo_inheritance(VALUE value);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_svn_date_string_to_time(const char *date);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_hash_to_hash_string(apr_hash_t *hash);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_hash_to_hash_svn_string(apr_hash_t *hash);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_hash_to_hash_swig_type(apr_hash_t *hash,
const char *type_name);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_hash_to_hash_merge_range(apr_hash_t *hash);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_hash_to_hash_merge_range_hash(apr_hash_t *hash);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_prop_hash_to_hash(apr_hash_t *prop_hash);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_revnum_key_hash_to_hash_string(apr_hash_t *hash);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_string(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_svn_string(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_svn_rev(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_proplist_item(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_external_item2(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_merge_range(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_apr_array_to_array_auth_provider_object(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_prop_apr_array_to_hash_prop(const apr_array_header_t *ary);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_rb_hash_to_apr_hash_string(VALUE hash, apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_rb_hash_to_apr_hash_svn_string(VALUE hash,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_rb_hash_to_apr_hash_swig_type(VALUE hash,
const char *typename,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_rb_hash_to_apr_hash_revnum(VALUE hash,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_hash_t *svn_swig_rb_hash_to_apr_hash_merge_range(VALUE hash,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_strings_to_apr_array(VALUE strings,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *
svn_swig_rb_array_to_auth_provider_object_apr_array(VALUE array,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_array_to_apr_array_revnum(VALUE array,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_array_to_apr_array_merge_range(VALUE array,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_array_to_apr_array_copy_source(VALUE array,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_array_to_apr_array_revision_range(VALUE array,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_to_apr_array_prop(VALUE array_or_hash,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_array_header_t *svn_swig_rb_to_apr_array_row_prop(VALUE array_or_hash,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_get_pool(int argc, VALUE *argv, VALUE self, VALUE *rb_pool, apr_pool_t **pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_boolean_t svn_swig_rb_set_pool(VALUE target, VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_set_pool_for_no_swig_type(VALUE target, VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_push_pool(VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_pop_pool(VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_destroy_pool(VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_destroy_internal_pool(VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_make_delta_editor(svn_delta_editor_t **editor,
void **edit_baton,
VALUE rb_editor,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_make_baton(VALUE proc, VALUE pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_set_baton(VALUE target, VALUE baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_log_receiver(void *baton,
apr_hash_t *changed_paths,
svn_revnum_t revision,
@@ -249,19 +184,16 @@ svn_error_t *svn_swig_rb_log_receiver(vo
const char *message,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_log_entry_receiver(void *baton,
svn_log_entry_t *entry,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_repos_authz_func(svn_boolean_t *allowed,
svn_fs_root_t *root,
const char *path,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_repos_authz_callback(svn_repos_authz_access_t required,
svn_boolean_t *allowed,
svn_fs_root_t *root,
@@ -270,7 +202,6 @@ svn_error_t *svn_swig_rb_repos_authz_cal
apr_pool_t *pool);
/* Implements the svn_client_get_commit_log3_t API. */
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_get_commit_log_func(const char **log_msg,
const char **tmp_file,
const apr_array_header_t *
@@ -278,76 +209,60 @@ svn_error_t *svn_swig_rb_get_commit_log_
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_notify_func2(void *baton,
const svn_wc_notify_t *notify,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_conflict_resolver_func
(svn_wc_conflict_result_t **result,
const svn_wc_conflict_description_t *description,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_commit_callback(svn_revnum_t new_revision,
const char *date,
const char *author,
void *baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_commit_callback2(const svn_commit_info_t *commit_info,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_cancel_func(void *cancel_baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_info_receiver(void *baton,
const char *path,
const svn_info_t *info,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_boolean_t svn_swig_rb_config_enumerator(const char *name,
const char *value,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_boolean_t svn_swig_rb_config_section_enumerator(const char *name,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_delta_path_driver_cb_func(void **dir_baton,
void *parent_baton,
void *callback_baton,
const char *path,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_txdelta_window_handler(svn_txdelta_window_t *window,
void *baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_fs_warning_callback(void *baton, svn_error_t *err);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_fs_warning_callback_baton_register(VALUE baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_fs_get_locks_callback(void *baton,
svn_lock_t *lock,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_just_call(void *baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_setup_ra_callbacks(svn_ra_callbacks2_t **callbacks,
void **baton,
VALUE rb_callbacks,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_ra_lock_callback(void *baton,
const char *path,
svn_boolean_t do_lock,
@@ -355,7 +270,6 @@ svn_error_t *svn_swig_rb_ra_lock_callbac
svn_error_t *ra_err,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_ra_file_rev_handler(void *baton,
const char *path,
svn_revnum_t rev,
@@ -365,13 +279,11 @@ svn_error_t *svn_swig_rb_ra_file_rev_han
apr_array_header_t *prop_diffs,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_repos_history_func(void *baton,
const char *path,
svn_revnum_t revision,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_repos_file_rev_handler(void *baton,
const char *path,
svn_revnum_t rev,
@@ -381,7 +293,6 @@ svn_error_t *svn_swig_rb_repos_file_rev_
apr_array_header_t *prop_diffs,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_wc_relocation_validator3(void *baton,
const char *uuid,
const char *url,
@@ -390,14 +301,12 @@ svn_error_t *svn_swig_rb_wc_relocation_v
/* auth provider callbacks */
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t * svn_swig_rb_auth_gnome_keyring_unlock_prompt_func(
char **keyring_passwd,
const char *keyring_name,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_auth_simple_prompt_func(
svn_auth_cred_simple_t **cred,
void *baton,
@@ -406,7 +315,6 @@ svn_error_t *svn_swig_rb_auth_simple_pro
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_auth_username_prompt_func(
svn_auth_cred_username_t **cred,
void *baton,
@@ -414,7 +322,6 @@ svn_error_t *svn_swig_rb_auth_username_p
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_auth_ssl_server_trust_prompt_func(
svn_auth_cred_ssl_server_trust_t **cred,
void *baton,
@@ -424,7 +331,6 @@ svn_error_t *svn_swig_rb_auth_ssl_server
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_auth_ssl_client_cert_prompt_func(
svn_auth_cred_ssl_client_cert_t **cred,
void *baton,
@@ -432,7 +338,6 @@ svn_error_t *svn_swig_rb_auth_ssl_client
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_auth_ssl_client_cert_pw_prompt_func(
svn_auth_cred_ssl_client_cert_pw_t **cred,
void *baton,
@@ -440,27 +345,20 @@ svn_error_t *svn_swig_rb_auth_ssl_client
svn_boolean_t may_save,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
apr_file_t *svn_swig_rb_make_file(VALUE file, apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_stream_t *svn_swig_rb_make_stream(VALUE io);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_filename_to_temp_file(const char *file_name);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_set_revision(svn_opt_revision_t *rev, VALUE value);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_adjust_arg_for_client_ctx_and_pool(int *argc, VALUE **argv);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
void svn_swig_rb_wc_status_func(void *baton,
const char *path,
svn_wc_status2_t *status);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_client_blame_receiver_func(void *baton,
apr_int64_t line_no,
svn_revnum_t revision,
@@ -470,35 +368,27 @@ svn_error_t *svn_swig_rb_client_blame_re
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_wc_entry_callbacks2_t *svn_swig_rb_wc_entry_callbacks2(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_wc_diff_callbacks2_t *svn_swig_rb_wc_diff_callbacks2(void);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_make_txdelta_window_handler_wrapper(VALUE *rb_handler_pool,
apr_pool_t **handler_pool,
svn_txdelta_window_handler_t **handler,
void ***handler_baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_setup_txdelta_window_handler_wrapper(VALUE obj,
svn_txdelta_window_handler_t handler,
void *handler_baton);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_invoke_txdelta_window_handler_wrapper(VALUE obj,
svn_txdelta_window_t *window,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
VALUE svn_swig_rb_txdelta_window_t_ops_get(svn_txdelta_window_t *window);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_client_diff_summarize_func(const svn_client_diff_summarize_t *diff,
void *baton,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_client_list_func(void *baton,
const char *path,
const svn_dirent_t *dirent,
@@ -506,19 +396,16 @@ svn_error_t *svn_swig_rb_client_list_fun
const char *abs_path,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_proplist_receiver(void *baton,
const char *path,
apr_hash_t *prop_hash,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_error_t *svn_swig_rb_changelist_receiver(void *baton,
const char *path,
const char *changelist,
apr_pool_t *pool);
-SVN_RB_SWIG_SWIGUTIL_EXPORT
svn_ra_reporter3_t *svn_swig_rb_get_ra_reporter3();
#ifdef __cplusplus
Modified: subversion/trunk/subversion/bindings/swig/svn_ra.i
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/svn_ra.i?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/svn_ra.i (original)
+++ subversion/trunk/subversion/bindings/swig/svn_ra.i Wed Jul 24 13:50:17 2013
@@ -77,7 +77,7 @@
#ifdef SWIGPYTHON
%callback_typemap(const svn_ra_reporter2_t *reporter, void *report_baton,
- (svn_ra_reporter2_t *)&swig_py_ra_reporter2,
+ svn_swig_py_get_ra_reporter2(),
,
)
%callback_typemap(svn_location_segment_receiver_t receiver, void *receiver_baton,
Modified: subversion/trunk/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/win-tests.py?rev=1506554&r1=1506553&r2=1506554&view=diff
==============================================================================
--- subversion/trunk/win-tests.py (original)
+++ subversion/trunk/win-tests.py Wed Jul 24 13:50:17 2013
@@ -824,17 +824,13 @@ elif test_swig == 'perl':
for i in gen_obj.graph.get_all_sources(gen_base.DT_INSTALL):
if isinstance(i, gen_base.TargetSWIG) and i.lang == 'perl':
-
- src = os.path.join(abs_objdir, i.filename)
-
- # Copy _Core.dll to a location in $PATH
- if i.name == 'perl_core':
- copy_changed_file(src, to_dir=abs_builddir)
-
mod_dir = os.path.join(swig_pl_auto_svn, '_' + i.name[5:].capitalize())
create_target_dir(mod_dir)
+ copy_changed_file(os.path.join(abs_objdir, i.filename), to_dir=mod_dir)
- copy_changed_file(src, to_dir=mod_dir)
+ elif isinstance(i, gen_base.TargetSWIGLib) and i.lang == 'perl':
+ copy_changed_file(os.path.join(abs_objdir, i.filename),
+ to_dir=abs_builddir)
pm_src = os.path.join(abs_srcdir, 'subversion', 'bindings', 'swig', 'perl',
'native')