Re: Loading/registering multiple xsubs

2011-10-16 Thread Rob Janes
you don't need that pushmark stuff if you're only chaining one xs module. what's documented in the ExtUtils::MakeMaker FAQ should work: http://perldoc.perl.org/ExtUtils/MakeMaker/FAQ.html#XS This is what's suggested there. BOOT: # boot the second XS file boot_Cool__Bar(aTHX_ cv); Cool::Bar is

Re: Loading/registering multiple xsubs

2011-10-14 Thread Jeffrey Ratcliffe
On 12 October 2011 16:00, Torsten Schoenfeld kaffeeti...@gmx.de wrote: Looks like Glib's mechanism is not C++-safe: specifically, the extern XS trick does not work because boot_Foo is already inside an extern C section.  Try this: It didn't help - same error message. In the end, I took the

Re: Loading/registering multiple xsubs

2011-10-12 Thread Torsten Schoenfeld
On 12.10.2011 12:38, Jeffrey Ratcliffe wrote: Assuming we have Foo.xs Fo.pm Foo_Bar.xs how do I get Foo::Bar to load/boot/import at the same time as Foo on use Foo? You have to call Foo_Bar.xs' BOOT section (which wires up the xsubs) from Foo.xs' BOOT section. Look at Glib.xs' BOOT section

Re: Loading/registering multiple xsubs

2011-10-12 Thread Jeffrey Ratcliffe
On 12 October 2011 13:11, Torsten Schoenfeld kaffeeti...@gmx.de wrote: You have to call Foo_Bar.xs' BOOT section (which wires up the xsubs) from Foo.xs' BOOT section.  Look at Glib.xs' BOOT section for an example.  For Gtk2 and below, this is handled by Gtk2::CodeGen-write_boot. Thank you for

Re: Loading/registering multiple xsubs

2011-10-12 Thread Torsten Schoenfeld
On 12.10.2011 15:24, Jeffrey Ratcliffe wrote: On 12 October 2011 13:11, Torsten Schoenfeldkaffeeti...@gmx.de wrote: You have to call Foo_Bar.xs' BOOT section (which wires up the xsubs) from Foo.xs' BOOT section. Look at Glib.xs' BOOT section for an example. For Gtk2 and below, this is