[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] The long way to build XSUBs (LONG EMAIL)



My simple notes on the difference between the tutorial and what I actually
had to do.  These notes are rough, but they may help.  I'm sure there are
steps that can be trimmed down, but it's working for me so far.  I'm also
sure that if I'd read the book first, my life would have been easier.


You need dmake.  There is no way around that one.

from mpw, type h2xs -A -n moduleName

A directory will be created.  You may have to specify the full path to h2xs.

Some of the perl files need patching.
ExtBuildRules.mk	I don't remember what I changed, and my diffs say this
			file is unmodified, but I'm pretty sure it needed a
			minor tweaking.
MM_MacOS.pm		needs test rules added
testlib.pm		needs different lib path

A typemap file needs to be added to the file created by h2xs.  Grab any of
them that already exist in the installation.  Supposedly, the typemap in
ExtUtils will be read but the AutoLoader doesn't seem to find that one.

perl Makefile.pl will create the makefile needed.  This is only run when
you add libraries.

At this point, all edits should go into the moduleName.xs file.

buildprogram install will create the .c file, compile things and install
into a test directory.

buildprogram test should run the test script, but I have been having
trouble with it.  dmake -n test will give you the line that buildprogram is
trying to execute.  If you run it manually, your test scripts will run.

When you add libs to the makefile.pl, the tutorial is a bit off.  Instead
of just changing
LIBS => [],
to
Libs => ['-lm'],
it should be changed to
Libs => ['-lm', '"{{MWPPCLibraries}}"MathLib "{{MW68KLibraries}}"somelib'],
The build process will search for PPC and 68K and do the right thing



Michael Rutman
Manic Moose Consulting
Macintosh and NeXTSTEP consultant  (Guess that's redundant now)
moose@manicmoose.com



***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch