From: John L. <jl...@ma...> - 2007-04-30 22:29:49
|
On 04/28/2007 07:15 PM, Victor Duchovni wrote: > On Sat, Apr 28, 2007 at 05:06:26PM -0400, Victor Duchovni wrote: > >> I am for now resorting to brute-force in the Makefile: >> >> perl -pe 's/(^XS\(_wrap_)/SWIGINTERN $1/' Foo_wrap.c > Foo.c >> perl -pe 's/(^XS\(_wrap_)/SWIGINTERN $1/' Bar_wrap.c > Bar.c >> >> then building Foo.so and Bar.so from those, but this is not particularly >> elegant, is there a trick I am missing for getting the XS wrappers to >> have library scope? The new global symbols I get are: > > The mystery is solved, the linkage turns out to have been a bit of > a red-herring, the real issue is that SWIG modules by default to try > share their type metadata. > > I need -DSWIG_TYPE_TABLE=Unique for each independent module to avoid > conflicts, this was difficult to find (RTFS), where should i have been > looking? > Hmm, I thought there was some stuff in the documentation in the module chapter, but I just looked and it isn't there. I guess I will have to add a paragraph about multiple wrappers sharing type info... John |