# from Randy W. Sims
# on Sunday 02 July 2006 09:24 pm:
>3) Run the Inline filter on the main module file (this seems an
>unnecessary limitation; why not more than one Inline file?). In
>MakeMaker the rule used is:
>
>.pm.inl:
> \$(PERL) -Mblib -MInline=NOISY,_INSTALL_ -M$name -e1 $version
>\$(INST_ARCHLIB)
It seemed unnaturally difficult to have two XS files when I was mucking
around with MakeMaker last week. Is that the source of the limitation?
>Not sure about the interface though.
You mean this grabbing the version number out of ARGV thing?
my ($mod_name, $mod_ver, $ext_name, $ext_ver) =
($o->{API}{pkg}, $ARGV[0], @{$o->{CONFIG}}{qw(NAME VERSION)});
>Is there a reason for the
>limitation mentioned above.
The version number has to match the module's version. That seems to be
part of the series of checks which eliminate the startup time on
installed modules.
It looks like any dependencies might get picked-up. Otherwise, it's
possible that multiple modules with matching versions might work with
multiple -M$name arguments.
Inline uses MakeMaker under the hood and then apparently just
cherry-picks these files out of the temp directory.
inst_archlib/
`-- auto
`-- Foo
|-- Bar.bs
`-- Bar.so
>If so, we just run the filter on
> dist_name. Otherwise, we could allow multiple modules to be
> specified:
It appears to be a no-op if you invoke that with non-inline modules.
Just loop over all .pm files? Possibly even do without the extra layer
of system calls -- set local @ARGV and eval { Inline->import(@args) } ?
--Eric
--
"These crispix get soggy so quickly."
-- Tina Connolly
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------