Show quoted text> I'm also having this issue using perl 5.18 on Mac OS X with
> ExtUtils::MakeMaker 6.68.
I don't see any of the problems reported here using perl 5.14 under Linux. I'm starting to suspect that some perl or module change has broken some of my makefile customisation.
Show quoted text> What is the intended behavior of the custom MY subs? I can probably
> provide a patch to fix it, and make it work on windows, if I was clear
> on what it was supposed to do.
They add sections to the makefile to modify the $share variable in the dtdto script to point to the installation path for the XSL files in share/dtdto (the effects should be visible in the initial lines of the pure_perl_install, pure_site_install, and pure_vendor_install makefile targets) and also to install these XSL files into the appropriate share directory. The modification to blib/script/dtdto consists of a call to sed is added to remove the "use Findbin; ..." line and correctly set the "$share = ..." line.
I should add that I'm currently modifying some of this code to remove the sed call to make it a bit more platform independent. My current MY::install declaration looks like this:
sub MY::install
{
my $inherited = shift->SUPER::install(@_);
if ($^O !~ /MSWin/)
{
my $insert0 = <<EOF;
\$(NOECHO) \$(PERLRUN) -pi -e 's+^use FindBin;.*++' \$(INST_SCRIPT)/dtdto; \\
\t\t\$(PERLRUN) -pi -e 's+^my \\\$\$share =[^;]*+my \\\$\$share = "\$(INSTALLSHAREDIR)"+' \$(INST_SCRIPT)/dtdto; \\
\t\t\$(CHMOD) \$(PERM_RWX) \$(INST_SCRIPT)/dtdto
EOF
chomp $insert0;
$inherited =~ s/(pure_[a-z]+_install\s+::.*)/$1\n\t$insert0/g;
my $insert1 = "\$(INST_SHAREDIR) \$(DESTINSTALLSHAREDIR)";
$inherited =~ s/(\$\(INST_MAN3DIR\)[^\)]+\))/$1 \\\n\t\t$insert1/g;
return $inherited;
}
return $inherited;
}