Subject: | [PATCH] assorted small VMS fixes |
The attached patch went into bleadperl as #26813 and fixes all
outstanding MakeMaker-related test failures on VMS. Please include it
in the next version of MakeMaker.
Subject: | mmfix.patch |
--- lib/ExtUtils/MM_Unix.pm;-0 Fri Dec 30 06:28:39 2005
+++ lib/ExtUtils/MM_Unix.pm Thu Jan 12 14:05:19 2006
@@ -3042,8 +3042,8 @@ sub processPL {
foreach my $target (@$list) {
if( $Is_VMS ) {
- $plfile = vmsify($plfile);
- $target = vmsify($target);
+ $plfile = vmsify($self->eliminate_macros($plfile));
+ $target = vmsify($self->eliminate_macros($target));
}
# Normally a .PL file runs AFTER pm_to_blib so it can have
--- lib/ExtUtils/MM_VMS.pm;-0 Tue Aug 2 06:09:07 2005
+++ lib/ExtUtils/MM_VMS.pm Thu Jan 12 14:05:20 2006
@@ -447,10 +447,20 @@ sub init_others {
$self->{NOOP} = 'Continue';
$self->{NOECHO} ||= '@ ';
- $self->{MAKEFILE} ||= 'Descrip.MMS';
+ $self->{MAKEFILE} ||= $self->{FIRST_MAKEFILE} || 'Descrip.MMS';
$self->{FIRST_MAKEFILE} ||= $self->{MAKEFILE};
$self->{MAKE_APERL_FILE} ||= 'Makeaperl.MMS';
- $self->{MAKEFILE_OLD} ||= '$(FIRST_MAKEFILE)_old';
+ $self->{MAKEFILE_OLD} ||= $self->eliminate_macros('$(FIRST_MAKEFILE)_old');
+#
+# If an extension is not specified, then MMS/MMK assumes an
+# an extension of .MMS. If there really is no extension,
+# then a trailing "." needs to be appended to specify a
+# a null extension.
+#
+ $self->{MAKEFILE} .= '.' unless $self->{MAKEFILE} =~ m/\./;
+ $self->{FIRST_MAKEFILE} .= '.' unless $self->{FIRST_MAKEFILE} =~ m/\./;
+ $self->{MAKE_APERL_FILE} .= '.' unless $self->{MAKE_APERL_FILE} =~ m/\./;
+ $self->{MAKEFILE_OLD} .= '.' unless $self->{MAKEFILE_OLD} =~ m/\./;
$self->{MACROSTART} ||= '/Macro=(';
$self->{MACROEND} ||= ')';
--- lib/ExtUtils/t/FIRST_MAKEFILE.t;-0 Sat May 21 04:45:55 2005
+++ lib/ExtUtils/t/FIRST_MAKEFILE.t Thu Jan 12 14:05:20 2006
@@ -36,5 +36,5 @@ cmp_ok( $?, '==', 0, 'Makefile.PL exited
ok( -e 'jakefile', 'FIRST_MAKEFILE honored' );
-ok( grep(/^Writing jakefile for Big::Dummy/, @mpl_out) == 1,
+ok( grep(/^Writing jakefile(?:\.)? for Big::Dummy/, @mpl_out) == 1,
'Makefile.PL output looks right' );
--- lib/ExtUtils/t/basic.t;-0 Mon Dec 26 18:33:31 2005
+++ lib/ExtUtils/t/basic.t Thu Jan 12 17:23:31 2006
@@ -30,6 +30,9 @@ delete @ENV{qw(PREFIX LIB MAKEFLAGS MAKE
my $perl = which_perl();
my $Is_VMS = $^O eq 'VMS';
+# GNV logical interferes with testing
+$ENV{'bin'} = '[.bin]' if $Is_VMS;
+
chdir 't';
perl_lib;