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 {
   $&ltype 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')