Mon Jun 02 08:35:54 2014: Request 95809 was acted upon. Transaction: Correspondence added by sisyph...@optusnet.com.au Queue: Inline Subject: Re: [rt.cpan.org #95809] [PATCH] Using Inline in a distribution with multiple modules Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: s...@parasite.cc Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=95809 >
-----Original Message----- From: Jason McCarver via RT > After digging a bit I found that ExtUtils::MakeMaker was already locating > all modules to be installed and placing that list in $mm->{PM} (where $mm > is the returned object from the call to > ExtUtils::MakeMaker::WriteMakefile). I didn't know that. (You already know more about Inline than I do.) > There is another attribute, $mm->{PMLIBDIRS} that contains a list of > directories those modules reside in. I added some code to use those two > lists to generate the rules to add to the makefile without having to scan > for modules ourselves. Didn't know that, either. Yours is therefore probably a smarter solution than the one I envisaged. Mine is a solution that hacks (solely) I::MM to recurse thru the 'lib' directory and locate all of the *.pm files (using File::Find). However, with your patch, for the distro you provided, I'm getting: ############################## C:\_32\pscrpt\Foo-broken>perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Foo Writing MYMETA.yml and MYMETA.json C:\_32\pscrpt\Foo-broken>dmake cp lib/Foo/Bar/Baz.pm blib\lib\Foo\Bar\Baz.pm cp lib/Foo.pm blib\lib\Foo.pm cp lib/Foo/Bar.pm blib\lib\Foo\Bar.pm C:\MinGW\Perl516\bin\perl.exe -Mblib -MInline=NOISY,_INSTALL_ -MFoo::Bar::Baz -e1 2.01 blib\arch validate Stage Starting Build Preprocess Stage get_maps Stage Finished Build Preprocess Stage Starting Build Parse Stage Finished Build Parse Stage Starting Build Glue 1 Stage Finished Build Glue 1 Stage Starting Build Glue 2 Stage Finished Build Glue 2 Stage Starting Build Glue 3 Stage Finished Build Glue 3 Stage Starting Build Compile Stage Starting "perl Makefile.PL" Stage Finished "perl Makefile.PL" Stage Starting "make" Stage Finished "make" Stage Starting "make install" Stage Finished "make install" Stage Starting Cleaning Up Stage Finished Cleaning Up Stage Finished Build Compile Stage Can't open for output. at C:\_32\pscrpt\Foo-broken\blib\lib/Foo/Bar/Baz.pm line 9. BEGIN failed--compilation aborted at C:\_32\pscrpt\Foo-broken\blib\lib/Foo/Bar/Baz.pm line 15. Compilation failed in require. BEGIN failed--compilation aborted. dmake: Error code 255, while making 'Foo-Bar-Baz.inl' C:\_32\pscrpt\Foo-broken> ############################## This might just be *my* mistake ... I might have messed something up. (I don't think so but.) I'll have to check again tomorrow night. What version of perl are you running ? Cheers, Rob