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 


Reply via email to