Assorted VMS-only MakeMaker fixes for blead
Craig A. Berry [Fri, 13 Jan 2006 01:12:44 +0000 (01:12 +0000)]
p4raw-id: //depot/perl@26813

lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MM_VMS.pm
lib/ExtUtils/t/FIRST_MAKEFILE.t
lib/ExtUtils/t/basic.t

index 46a55f4..2df687f 100644 (file)
@@ -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
index e2f3f77..cb3efad 100644 (file)
@@ -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}           ||= ')';
index 731dd34..00e6082 100644 (file)
@@ -36,5 +36,5 @@ cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag @mpl_out;
 
 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' );
index cf6701c..2788b6e 100644 (file)
@@ -30,6 +30,9 @@ delete @ENV{qw(PREFIX LIB MAKEFLAGS MAKE_JOBS_FIFO)};
 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;