Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

ethan (3163)

  reversethis-{ed. ... rap.nov.olissat}

Being a 25-year old chap living in the western-most town of Germany. Stuying communication and information science and being a huge fan of XS-related things.

Journal of ethan (3163)

Sunday April 06, 2003
03:27 AM

Back to XS

[ #11466 ]

Eventually XS is having me back. I prepared a new release for Mail::Transport::Dbx to wipe out one rare segfault. Unfortunately sourceforge has taken down their FreeBSD machine from their compile-farm for maintenance. I don't expect any problems with the new package on BSD but I learnt to be very cautious with releasing XS stuff.

Other than that, I again tackled my XSification of the AA-Lib. It's the second attempt after the first one brought me into a hell of indeterministic segmentation faults and inexplicable behaviour. So I changed my approach a little. But still, it's a hassle. I haven't finished the constructor yet but nonetheless AALib.xs is already over 100 lines long (plus a typemap of course). And that does not include the more sophisticated initialization via aa_init() but only the "basic" one aa_autoinit().

I have the hope - once the init-phase properly done - that the rest is basically just setting up the XSUBs stubs along with a PREFIX directive of "aa_".

Btw, something appears to have changed with h2xs (v1.22), I don't know what. I am using the one that comes with perl5.8.0 in order to use the "-b" switch. Anyway, h2xs is getting the constants from the C libraries mostly wrong. After an initial

        h2xs -b 5.5.3 -n Module::Name header.h

I hardly ever get a module that compiles out of the box. Instead I have to manually exclude some symbols with something like

        h2xs -b 5.5.3 -n Module::Name -M '^[A-Za-z]' header.h

This is a little annoying because there is not always an exclude pattern that only affects the not-to-be-exported constants. A while back I reported this to the porters who didn't have a solution for it (I guess no one wants to plunge into the innards of h2xs, quite understandably).

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.