[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

SWIG Again

From: John Lenz <lenz_at_cs.wisc.edu>
Date: 2004-12-15 23:52:07 CET

Well, SWIG 1.3.24 was released yesterday. Here is a semi-updated patch.

I am currently having problems with swig.m4, because autoconf programming
is not really my thing and I don't know a lot about the subversion build
system.

Using this patch, you SHOULD be able to download 1.3.24, extract it in the
subversion directory, and rename SWIG-1.3.24 to SWIG.

A few problems...
1) It doesn't seem to want to check the version correctly.
2) SWIG=$srcdir/SWIG/preinst-swig is turning into ./SWIG/preinst-swig,
when in fact it needs to be $(top_srcdir)/SWIG/preinst-swig inside the
makefile.
3) The makefile must recurse into the SWIG directory and run make.
I was thinking of exporting a line like
@enable_swig_build@$(SWIG):
@enable_swig_build@ cd SWIG && make
With @enable_swig_build@ being replaced by "#" or ""

4) I also haven't hack the makefiles so that the built tarball contains the
swig generated files. Note, the three/four files that are included by
the util files from the SWIG Lib directory are self contained. They
contain a whole bunch of static functions (and NO references) to external
functions. Thus, to do this step you can also include those four files
into the subversion tarball. (License wise, this is OK since SWIG is under
a BSD type license). If you include those 4 files (or during the build you
could preprocess the util file and distribute the output of gcc -E), someone
who downloads the subversion tarball would not even care what SWIG is.

In any case, read that other thread. There is no need to have SWIG installed
to create the wrappers or to install the wrappers.

--- subversion/build/generator/gen_base.py~fixswig
+++ subversion/build/generator/gen_base.py
@@ -497,7 +497,6 @@
     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)' % string.upper(lang_abbrev[lang])
@@ -539,10 +538,6 @@
     # the library depends upon the object
     self.gen_obj.graph.add(DT_LINK, self.name, ofile)
 
- # non-java modules depend on swig runtime libraries
- if self.lang != "java":
- self.gen_obj.graph.add(DT_LINK, self.name, TargetSWIGRuntime(self.lang))
-
     abbrev = lang_abbrev[self.lang]
 
     # the specified install area depends upon the library
@@ -563,11 +558,6 @@
       target = self.targets.get(target.lang, None)
       return target and [target] or [ ]
 
-class TargetSWIGRuntime(TargetLinked):
- def __init__(self, lang):
- self.name = None
- self.external_lib = "-lswig" + lang_abbrev[lang]
-
 class TargetSWIGLib(TargetLib):
   def __init__(self, name, options, gen_obj):
     TargetLib.__init__(self, name, options, gen_obj)
@@ -575,8 +565,6 @@
 
   def add_dependencies(self):
     TargetLib.add_dependencies(self)
- if self.lang != "java":
- self.gen_obj.graph.add(DT_LINK, self.name, TargetSWIGRuntime(self.lang))
 
   class Section(TargetLib.Section):
     def get_dep_targets(self, target):
--- subversion/build/ac-macros/swig.m4~fixswig
+++ subversion/build/ac-macros/swig.m4
@@ -71,6 +71,26 @@
 [
   where=$1
 
+ # If you change the required swig version number, don't forget to update:
+ # subversion/bindings/swig/INSTALL
+ # subversion/bindings/swig/README
+ # packages/rpm/mandrake-9.0/subversion.spec
+ # packages/rpm/redhat-7.x/subversion.spec
+ # packages/rpm/redhat-8.x/subversion.spec
+ SWIG_MIN_VERSION=103024
+
+ # We want the version as an integer so we can test against
+ # which version we're using. SWIG doesn't provide this
+ # to us so we have to come up with it on our own.
+ # The major is passed straight through,
+ # the minor is zero padded to two places,
+ # and the patch level is zero padded to three places.
+ # e.g. 1.3.21 becomes 103021
+ SWIG_BUILD_VERSION="sed -e 's/[[^0-9\.]].*$//' \
+ -e 's/\.\([[0-9]]\)$/.0\1/' \
+ -e 's/\.\([[0-9]][[0-9]]\)$/.0\1/' \
+ -e 's/\.\([[0-9]]\)\./0\1/; s/\.//g;'"
+
   if test $where = check; then
     AC_PATH_PROG(SWIG, swig, none)
   else
@@ -80,7 +100,7 @@
       SWIG="$where/bin/swig"
     fi
     if test ! -f "$SWIG" -o ! -x "$SWIG"; then
- AC_MSG_ERROR([Could not find swig binary at $SWIG])
+ SWIG=none
     fi
   fi
 
@@ -88,45 +108,52 @@
     AC_MSG_CHECKING([swig version])
     SWIG_VERSION_RAW="`$SWIG -version 2>&1 | \
                        sed -ne 's/^.*Version \(.*\)$/\1/p'`"
- # We want the version as an integer so we can test against
- # which version we're using. SWIG doesn't provide this
- # to us so we have to come up with it on our own.
- # The major is passed straight through,
- # the minor is zero padded to two places,
- # and the patch level is zero padded to three places.
- # e.g. 1.3.21 becomes 103021
- SWIG_VERSION="`echo \"$SWIG_VERSION_RAW\" | \
- sed -e 's/[[^0-9\.]].*$//' \
- -e 's/\.\([[0-9]]\)$/.0\1/' \
- -e 's/\.\([[0-9]][[0-9]]\)$/.0\1/' \
- -e 's/\.\([[0-9]]\)\./0\1/; s/\.//g;'`"
+ SWIG_VERSION="`echo \"$SWIG_VERSION_RAW\" | $SWIG_BUILD_VERSION`"
     AC_MSG_RESULT([$SWIG_VERSION_RAW])
     AC_SUBST(SWIG_VERSION)
- # If you change the required swig version number, don't forget to update:
- # subversion/bindings/swig/INSTALL
- # subversion/bindings/swig/README
- # packages/rpm/mandrake-9.0/subversion.spec
- # packages/rpm/redhat-7.x/subversion.spec
- # packages/rpm/redhat-8.x/subversion.spec
- if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103019"; then
+ if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "$SWIG_MIN_VERSION"; then
         SWIG_SUITABLE=yes
         AC_CACHE_CHECK([for swig library directory], [ac_cv_swig_swiglib_dir],[
                         ac_cv_swig_swiglib_dir="`$SWIG -swiglib`"
                        ])
         SWIG_LIBSWIG_DIR="$ac_cv_swig_swiglib_dir"
-
- dnl Newer versions of SWIG have deprecated the -c "do not
- dnl include SWIG runtime functions (used for creating multi-module
- dnl packages)" in favor of the -noruntime flag.
- if test "$SWIG_VERSION" -ge "103020"; then
- SWIG_NORUNTIME_FLAG='-noruntime'
+ else
+ AC_MSG_WARN([SWIG version 1.3.24 or above is required.])
+ SWIG=none
+ fi
+ fi
+
+ if test "$SWIG" = "none"; then
+ AC_MSG_CHECKING([local copy of SWIG source code])
+ if test -d "$srcdir/SWIG" ; then
+ #check which version of SWIG
+ #SWIG_VERSION="`tail -n 1 $srcdir/SWIG/ANNOUNCE | \
+ # sed 's/.*SWIG\s*\([^\s]\).*/\1/' | \
+ # $SWIG_BUILD_VERSION`"
+ SWIG_VERSION="103024"
+ AC_SUBST(SWIG_VERSION)
+ if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "$SWIG_MIN_VERSION"; then
+ if test ! -f "$srcdir/SWIG/configure" ; then
+ $srcdir/SWIG/autogen.sh
+ fi
+ SVN_SUBDIR_CONFIG(SWIG, )
+ SWIG=$srcdir/SWIG/preinst-swig
+ SWIG_LIBSWIG_DIR="$srcdir/SWIG/Lib"
+ SWIG_SUITABLE=yes
+ AC_MSG_RESULT([yes])
       else
- SWIG_NORUNTIME_FLAG='-c'
+ AC_MSG_RESULT([no])
       fi
     else
- SWIG_SUITABLE=no
- AC_MSG_WARN([swig bindings version 1.3.19 or newer needed for swig support.])
+ AC_MSG_RESULT([no])
     fi
+ fi
+
+ if test "$SWIG" = "none"; then
+ AC_MSG_ERROR([Could not find SWIG])
+ fi
+
+ if test "$SWIG_SUITABLE" = "yes" ; then
 
     if test "$PYTHON" != "none" -a "$SWIG_SUITABLE" = "yes" -a "$svn_swig_bindings_enable_python" = "yes"; then
       AC_MSG_NOTICE([Configuring python swig binding])
@@ -171,7 +198,7 @@
       dnl To relink our generated native binding libraries against
       dnl libsvn_swig_java, we must include the latter's library path.
       dnl ### Eventually reference somewhere under $(DESTDIR)?
- SWIG_JAVA_LINK="$SWIG_PY_LINK -L\$(SWIG_BUILD_DIR)/.libs"
+ SWIG_JAVA_LINK="$SWIG_PY_LINK"
       SWIG_JAVA_INCLUDES="$JNI_INCLUDES"
     fi
 
--- subversion/Makefile.in~fixswig
+++ subversion/Makefile.in
@@ -117,8 +117,8 @@
                 -I$(abs_srcdir)/subversion/include \
                 -I$(SWIG_LIBSWIG_DIR) \
                 -DSVN_SWIG_VERSION=$(SWIG_VERSION) \
+ -DSWIG_TYPE_TABLE=subversion \
                 $(SVN_APR_INCLUDES) $(SVN_APRUTIL_INCLUDES)
-SWIG_NORUNTIME_FLAG = @SWIG_NORUNTIME_FLAG@
 SWIG_LDFLAGS = @SWIG_LDFLAGS@
 SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
 SWIG_PY_COMPILE = @SWIG_PY_COMPILE@
@@ -170,8 +170,8 @@
 
 # these commands run SWIG to generate wrapper source files (*.c)
 ### should we protect against swig not being available?
-RUN_SWIG_PY = $(SWIG) $(SWIG_NORUNTIME_FLAG) -python $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@
-RUN_SWIG_JAVA = cd ${SWIG_BUILD_DIR}/java/org/tigris/subversion/swig && $(SWIG) $(SWIG_NORUNTIME_FLAG) -java -package 'org.tigris.subversion.swig' $(SWIG_INCLUDES) -o ${abs_builddir}/$@
+RUN_SWIG_PY = $(SWIG) -python $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@
+RUN_SWIG_JAVA = cd ${SWIG_BUILD_DIR}/java/org/tigris/subversion/swig && $(SWIG) -java -package 'org.tigris.subversion.swig' $(SWIG_INCLUDES) -o ${abs_builddir}/$@
 
 # Compilation of SWIG-generated C source code
 COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
--- subversion/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h~fixswig
+++ subversion/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
@@ -34,36 +34,10 @@
 #include "svn_client.h"
 #include "svn_repos.h"
 
-#if SVN_SWIG_VERSION >= 103020
-#include "python/precommon.swg"
-#ifndef SWIG_NewPointerObj
-#define SWIG_NewPointerObj SWIG_Python_NewPointerObj
-#endif
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
-
-/* If this file is being included outside of a wrapper file, then need to
- create stubs for some of the SWIG types. */
-
-/* if SWIGEXPORT is defined, then we're in a wrapper. otherwise, we need
- the prototypes and type definitions. */
-#ifndef SWIGEXPORT
-#define SVN_NEED_SWIG_TYPES
-#endif
-
-#ifdef SVN_NEED_SWIG_TYPES
-
-typedef struct _unnamed swig_type_info;
-PyObject *SWIG_NewPointerObj(void *, swig_type_info *, int own);
-swig_type_info *SWIG_TypeQuery(const char *name);
-int SWIG_ConvertPtr(PyObject *, void **, swig_type_info *, int flags);
-
-#endif /* SVN_NEED_SWIG_TYPES */
-
 /* Functions to manage python's global interpreter lock */
 void svn_swig_py_release_py_lock(void);
 void svn_swig_py_acquire_py_lock(void);
@@ -91,7 +65,7 @@
 PyObject *svn_swig_py_locationhash_to_dict(apr_hash_t *hash);
 
 /* convert a hash of 'const char *' -> TYPE into a Python dict */
-PyObject *svn_swig_py_convert_hash(apr_hash_t *hash, swig_type_info *type);
+PyObject *svn_swig_py_convert_hash(apr_hash_t *hash, struct swig_type_info *type);
 
 /* helper function to convert a 'char **' into a Python list of string
    objects */
--- subversion/packages/rpm/fedora-1/subversion.spec~fixswig
+++ subversion/packages/rpm/fedora-1/subversion.spec
@@ -1,7 +1,7 @@
 %define apache_version 2.0.48-0.1
 %define apr_version 0.9.5
 %define neon_version 0.24.7
-%define swig_version 1.3.19
+%define swig_version 1.3.24
 %define apache_dir /usr
 # If you don't have 360+ MB of free disk space or don't want to run checks then
 # set make_*_check to 0.
@@ -81,7 +81,6 @@
 %package perl
 Group: Utilities/System
 Summary: Allows Perl scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: perl
 %description perl
 Provides Perl (SWIG) support for Subversion.
@@ -89,7 +88,6 @@
 %package python
 Group: Utilities/System
 Summary: Allows Python scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: python >= 2
 %description python
 Provides Python (SWIG) support for Subversion.
--- subversion/packages/rpm/redhat-7.x/subversion.spec~fixswig
+++ subversion/packages/rpm/redhat-7.x/subversion.spec
@@ -1,6 +1,6 @@
 %define apache_version 2.0.48-0.1
 %define neon_version 0.24.7
-%define swig_version 1.3.19
+%define swig_version 1.3.24
 %define apache_dir /usr/local/apache2
 # If you don't have 360+ MB of free disk space or don't want to run checks then
 # set make_*_check to 0.
@@ -84,7 +84,6 @@
 %package perl
 Group: Utilities/System
 Summary: Allows Perl scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: perl >= 5.8.0
 %description perl
 Provides Perl (SWIG) support for Subversion.
@@ -93,7 +92,6 @@
 %package python
 Group: Utilities/System
 Summary: Allows Python scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: python2
 %description python
 Provides Pythong (SWIG) support for Subversion.
--- subversion/packages/rpm/redhat-8+/subversion.spec~fixswig
+++ subversion/packages/rpm/redhat-8+/subversion.spec
@@ -1,7 +1,7 @@
 %define apache_version 2.0.48-0.1
 %define apr_version 0.9.5
 %define neon_version 0.24.7
-%define swig_version 1.3.19
+%define swig_version 1.3.24
 %define apache_dir /usr
 # If you don't have 360+ MB of free disk space or don't want to run checks then
 # set make_*_check to 0.
@@ -81,7 +81,6 @@
 %package perl
 Group: Utilities/System
 Summary: Allows Perl scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: perl
 %description perl
 Provides Perl (SWIG) support for Subversion.
@@ -89,7 +88,6 @@
 %package python
 Group: Utilities/System
 Summary: Allows Python scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: python >= 2
 %description python
 Provides Python (SWIG) support for Subversion.
--- subversion/packages/rpm/wbel-3/subversion.spec~fixswig
+++ subversion/packages/rpm/wbel-3/subversion.spec
@@ -1,7 +1,7 @@
 %define apache_version 2.0.48-0.1
 %define apr_version 0.9.5
 %define neon_version 0.24.7
-%define swig_version 1.3.19
+%define swig_version 1.3.24
 %define apache_dir /usr
 # If you don't have 360+ MB of free disk space or don't want to run checks then
 # set make_*_check to 0.
@@ -81,7 +81,6 @@
 %package perl
 Group: Utilities/System
 Summary: Allows Perl scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: perl
 %description perl
 Provides Perl (SWIG) support for Subversion.
@@ -89,7 +88,6 @@
 %package python
 Group: Utilities/System
 Summary: Allows Python scripts to directly use Subversion repositories.
-Requires: swig >= %{swig_version}
 Requires: python >= 2
 %description python
 Provides Python (SWIG) support for Subversion.
--- subversion/subversion/bindings/swig/INSTALL~fixswig
+++ subversion/subversion/bindings/swig/INSTALL
@@ -4,7 +4,7 @@
 
 
 Step 1: Build & install the proper version of SWIG (which is
- currently swig 1.3.19 or newer).
+ currently swig 1.3.24 or newer).
 
     * Go to http://www.swig.org/, download the sourceball, unpack.
 
@@ -33,14 +33,8 @@
       were created, assuming your $PREFIX was /usr/local/lib:
 
            - /usr/local/lib/swig1.3/*.i
- - /usr/local/lib/libswig*.so
            - /usr/local/bin/swig
 
- In particular, you want to make sure that libswigpy.so was
- built and installed, since the python bindings are the most-used
- ones at the moment.
-
-
 Step 2: Build and Install Subversion.
 
   See Subversion's own INSTALL file for details.
--- subversion/subversion/bindings/swig/README~fixswig
+++ subversion/subversion/bindings/swig/README
@@ -51,7 +51,7 @@
 (4) limited symbols/functionality exported via the _util module
 
 
-NOTE: the bindings code is being developed using SWIG 1.3.19 or
+NOTE: the bindings code is being developed using SWIG 1.3.24 or
 later. Earlier versions of SWIG will simply *not* work.
 
 
--- subversion/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h~fixswig
+++ subversion/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
@@ -48,37 +48,6 @@
 # endif
 #endif
 
-
-/* If this file is being included outside of a wrapper file, then need to
- create stubs for some of the SWIG types. */
-
-/* if SWIGEXPORT is defined, then we're in a wrapper. otherwise, we need
- the prototypes and type definitions. */
-#ifndef SWIGEXPORT
-#define SVN_NEED_SWIG_TYPES
-#endif
-
-#ifdef SVN_NEED_SWIG_TYPES
-
-#if SVN_SWIG_VERSION >= 103020
-#include "perl5/precommon.swg"
-/* The following two aren't handled by the precommon.swg. */
-#ifndef SWIG_MakePtr
-#define SWIG_MakePtr SWIG_Perl_MakePtr
-#endif
-#ifndef SWIG_ConvertPtr
-#define SWIG_ConvertPtr SWIG_Perl_ConvertPtr
-#endif
-#endif
-
-typedef struct _unnamed swig_type_info;
-
-swig_type_info *SWIG_TypeQuery(const char *name);
-int SWIG_ConvertPtr(SV *, void **, swig_type_info *, int flags);
-void SWIG_MakePtr(SV *, void *, swig_type_info *, int flags);
-
-#endif /* SVN_NEED_SWIG_TYPES */
-
 apr_pool_t *svn_swig_pl_make_pool (SV *obj);
 
 typedef enum perl_func_invoker {
@@ -92,26 +61,26 @@
                                          const char *fmt, ...);
 
 SV *svn_swig_pl_prophash_to_hash (apr_hash_t *hash);
-SV *svn_swig_pl_convert_hash (apr_hash_t *hash, swig_type_info *tinfo);
+SV *svn_swig_pl_convert_hash (apr_hash_t *hash, struct swig_type_info *tinfo);
 
 const apr_array_header_t *svn_swig_pl_strings_to_array(SV *source,
                                                        apr_pool_t *pool);
 
 apr_hash_t *svn_swig_pl_strings_to_hash(SV *source,
                                         apr_pool_t *pool);
-apr_hash_t *svn_swig_pl_objs_to_hash(SV *source, swig_type_info *tinfo,
+apr_hash_t *svn_swig_pl_objs_to_hash(SV *source, struct swig_type_info *tinfo,
                                      apr_pool_t *pool);
 apr_hash_t *svn_swig_pl_objs_to_hash_by_name(SV *source,
                                              const char *typename,
                                              apr_pool_t *pool);
 const apr_array_header_t *svn_swig_pl_objs_to_array(SV *source,
- swig_type_info *tinfo,
+ struct swig_type_info *tinfo,
                                                     apr_pool_t *pool);
 
 SV *svn_swig_pl_array_to_list(const apr_array_header_t *array);
 SV *svn_swig_pl_ints_to_list(const apr_array_header_t *array);
 SV *svn_swig_pl_convert_array(const apr_array_header_t *array,
- swig_type_info *tinfo);
+ struct swig_type_info *tinfo);
 
 /* thunked log receiver function. */
 svn_error_t * svn_swig_pl_thunk_log_receiver(void *py_receiver,
--- subversion/build/generator/gen_win.py~fixswig
+++ subversion/build/generator/gen_win.py
@@ -292,15 +292,6 @@
       swig_options = ["-" + target.lang]
       swig_deps = []
 
- if self.swig_vernum >= 103020:
- if target.include_runtime:
- swig_options.append("-runtime")
- else:
- swig_options.append("-noruntime")
- else:
- if not target.include_runtime:
- swig_options.append("-c")
-
       if target.lang == "java":
         swig_options.append("-package org.tigris.subversion.swig")
         swig_options.append("-outdir " + self.path("subversion/bindings/swig"
--- subversion/build.conf~fixswig
+++ subversion/build.conf
@@ -333,7 +333,6 @@
 libs = libsvn_swig_py libsvn_swig_java libsvn_swig_perl
        libsvn_delta libsvn_diff libsvn_subr apr
 description = Subversion core library bindings
-include-runtime = yes
 
 # SWIG utility library for Python modules
 [libsvn_swig_py]
--- subversion/subversion/bindings/swig/perl/native/Makefile.PL.in~fixswig
+++ subversion/subversion/bindings/swig/perl/native/Makefile.PL.in
@@ -88,13 +88,8 @@
    my $module_c_files = join (' ',map { "svn_$_.c"} @modules);
    my $module_make_commands = join ('',map {"\t\$(MAKE) -f Makefile.$_\n"} @modules);
 
- my $flags;
- if ($swig_version >= 103020) {
- $flags = '-noruntime -noproxy';
- } else {
- $flags = '-c';
- }
-
+ my $flags = '-noproxy';
+
    my $swig_command = "$swig $flags -nopm -perl " .
                       "-I$swig_srcdir " .
                       "-I$swig_srcdir/perl/libsvn_swig_perl".
--- subversion/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c~fixswig
+++ subversion/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
@@ -29,6 +29,10 @@
 #include "svn_pools.h"
 #include "svn_opt.h"
 
+#include <swigrun.swg>
+#include <perl5/perlrun.swg>
+#include <runtime.swg>
+
 #include "swigutil_pl.h"
 
 /* cache SWIG_TypeQuery results in a perl hash */
--- subversion/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c~fixswig
+++ subversion/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
@@ -35,6 +35,10 @@
 
 #include "swigutil_py.h"
 
+#include <swigrun.swg>
+#include <python/pyrun.swg>
+#include <runtime.swg>
+
 
 
 /*** Manage the Global Interpreter Lock ***/
@@ -354,7 +358,7 @@
     return dict;
 }
 
-PyObject *svn_swig_py_convert_hash(apr_hash_t *hash, swig_type_info *type)
+PyObject *svn_swig_py_convert_hash(apr_hash_t *hash, struct swig_type_info *type)
 {
   return convert_hash(hash, convert_to_swigtype, type);
 }
@@ -1354,7 +1358,7 @@
 {
   PyObject *receiver = baton;
   PyObject *result;
- swig_type_info *tinfo = SWIG_TypeQuery("svn_log_changed_path_t *");
+ struct swig_type_info *tinfo = SWIG_TypeQuery("svn_log_changed_path_t *");
   PyObject *chpaths;
   svn_error_t *err = SVN_NO_ERROR;
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 15 23:53:43 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.