On Mar 26, 2007, at 11:07 AM, Peter Karman wrote:
I like the current convention of putting XS in with the Perl.
Groovy.
I'm now about to start contributing a bunch of utility stuff that's
used by KinoSearch's XS bindings.
Peter... Dave and I have been collaborating fruitfully, but this
isn't an area of expertise for him. If I start presenting these
tools here and explaining the rationales behind them, are you willing
to read the emails and offer critiques/suggestions, or at least nod
your head OK? ;) I'm not looking for deep debugging, rather high-
level design discussion.
At the least, I'd like to get the thoughts behind this stuff entered
into the email record. The material is commented well enough for me
to understand what I did six months ago, but XS is so esoteric and as
I wrote everything in isolation, I think some aspects might prove
difficult for other maintainers to unravel. Forcing myself to
justify it would be a good exercise, and if we come up with
improvements, more's the better.
The material I'm talking about is most of the content from two files
from the KS repository (<http://www.rectangular.com/svn/kinosearch/
trunk/>)...
$REPOS_ROOT/perl/xshelper/XSHelper.c
$REPOS_ROOT/perl/xshelper/XSHelper.h
... plus parts of the Module::Build subclass at...
$REPOS_ROOT/perl/buildlib/Lucy/Build.pm
... particularly the ACTION_write_typemap subroutine.
(Yes, KS svn trunk now has Lucy::Build in it, to aid synchronization.)
Marvin Humphrey
Rectangular Research
http://www.rectangular.com/