On Wed, Jul 30, 2003 at 04:51:27PM -0700, Michael G Schwern wrote:
> On Thu, Jul 31, 2003 at 01:05:31AM +0200, Rafael Garcia-Suarez wrote:
> > I've tried to integrate MakeMaker 6.12 into perl-5.6.2, and it
> > turns out that it isn't a good idea.
> > 
> > Basically that's because in perl 5.6.1 MakeMaker intergrates
> > -I$(PERL_LIB) : see for example
> > 
> > MM_Unix.pm:3495:MKPATH = $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) 
> > -MExtUtils::Command -e mkpath
> > 
> > But in bleadperl :
> > 
> > MM_Unix.pm:1963:    $self->{MKPATH}     ||= '$(PERLRUN) "-MExtUtils::Command" -e 
> > mkpath';
> > 
> > So I'm deciding to not upgrading MakeMaker, at least not for 5.6.2.
> 
> $(PERLRUN) is a macro for $(PERL) -I$(PERL_LIB) -I$(PERL_ARCHLIB).
> The two bits of code you posted above produce equivalent command lines
> (mod quoting rules).

PS  That applies only in the core.  $(PERLRUN) is defined without
-I$(PERL_LIB) and -I$(PERL_ARCHLIB) when building a CPAN module.  This is by
design as they are only necessary in order for an uninstalled Perl to be
able to find its modules.  If applied to a CPAN module (as they were) they
can interfere with the module testing causing the installed version of
the module to be tested, not the new version.

Because MakeMaker acts a little differently now when building core modules as
opposed to CPAN modules, the big change necessary for dropping MakeMaker
6.12 into 5.6.2 would be to run your Makefile.PLs with PERL_CORE=1.
That requires altering ext/util/make_ext, configure.com, NetWare/Makefile,
os2/Makefile.SHs and win32/buildext.pl so that when they run a Makefile.PL
they remember to pass in PERL_CORE=1.


-- 
Follow me to certain death!
        http://www.unamerican.com/

Reply via email to