You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by David James <ja...@gmail.com> on 2005/08/03 13:32:23 UTC

SWIG 1.3.21 and SWIG_TypeQuery

In the Subversion project, we use SWIG_TypeQuery to access type
information on Python/SWIG objects from within a utility library in
Subversion. In SWIG 1.3.20 and SWIG 1.3.21, the SWIG_TypeQuery
function is not able to find all of Subversion's datatypes. (For some
datatypes, such as Subversion's svn_fs_root_t * struct, it returns
NULL.)

The SWIG wrapper for the svn_fs_root_t * datatype is initialized in a
SWIG interface file called fs.i. This interface file depends on a
library called swigutil_py.c, which builds many objects, including
svn_fs_root_t * objects, and feeds it to Subversion. To build these
wrapper objects, swigutil_py.c needs SWIG type information on
svn_fs_root_t * objects.

In SWIG 1.3.19 and SWIG 1.3.24+, we can obtain SWIG type information
on svn_fs_root_t * objects by calling SWIG_TypeQuery("svn_fs_root_t
*") from within "swigutil_py.c". However, in SWIG 1.3.20 and SWIG
1.3.21, SWIG_TypeQuery("svn_fs_root_t *") returns NULL.

The Subversion project would like to continue supporting SWIG 1.3.20
and SWIG 1.3.21, if it is possible to do so without major changes to
our build process. Do you have any advice on how we could work around
this issue?

Cheers,

David

-- 
David James -- http://www.cs.toronto.edu/~james

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: [Swig] SWIG 1.3.21 and SWIG_TypeQuery

Posted by John Lenz <le...@cs.wisc.edu>.
On Wed, August 3, 2005 8:32 am, David James said:
> In the Subversion project, we use SWIG_TypeQuery to access type
> information on Python/SWIG objects from within a utility library in
> Subversion. In SWIG 1.3.20 and SWIG 1.3.21, the SWIG_TypeQuery
> function is not able to find all of Subversion's datatypes. (For some
> datatypes, such as Subversion's svn_fs_root_t * struct, it returns
> NULL.)

I responded to your other mail on subversion-dev@ mailing list, but I'll
just repeat the basics here.

Before 1.3.24/25, the runtime system was kinda brittle.  The 1.3.25 code
is much easier to understand (and thus much easier to fix bugs).  I
shudder at the prospect of trying to debug the old runtime system...

Moreover, SWIG now is a tool like lex or yacc, where the outputs from SWIG
can be compiled on any computer, independent of if SWIG is installed or
not.  How to do that now is documented in the manual, in the Modules
section.  Thus, only the developers need to have 1.3.25 installed, the
released tarball can include the generated wrapper code.

http://www.swig.org/Doc1.3/Modules.html

John


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org