From: Craig A. Berry Date: Sun, 20 Jan 2002 22:49:42 +0000 (-0600) Subject: MakeMaker.pm sub-Makefile.PL tweak for VMS X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b5de4a98103dfa430d42f468a291a4d863f78b13;p=p5sagit%2Fp5-mst-13.2.git MakeMaker.pm sub-Makefile.PL tweak for VMS Message-Id: p4raw-id: //depot/perl@14364 --- diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm index 92a46a8..435d984 100644 --- a/lib/ExtUtils/MakeMaker.pm +++ b/lib/ExtUtils/MakeMaker.pm @@ -406,12 +406,20 @@ sub ExtUtils::MakeMaker::new { for $key (keys %Prepend_dot_dot) { next unless defined $self->{PARENT}{$key}; $self->{$key} = $self->{PARENT}{$key}; - # PERL and FULLPERL may be command verbs instead of full - # file specifications under VMS. If so, don't turn them - # into a filespec. - $self->{$key} = $self->catdir("..",$self->{$key}) - unless $self->file_name_is_absolute($self->{$key}) - || ($^O eq 'VMS' and ($key =~ /PERL$/ && $self->{$key} =~ /^[\w\-\$]+$/)); + unless ($^O eq 'VMS' && $key =~ /PERL$/) { + $self->{$key} = $self->catdir("..",$self->{$key}) + unless $self->file_name_is_absolute($self->{$key}); + } else { + # PERL or FULLPERL will be a command verb or even a command with + # an argument instead of a full file specification under VMS. So, + # don't turn the command into a filespec, but do add a level to the + # path of the argument if not already absolute. + + my @cmd = split /\s+/, $self->{$key}; + $cmd[1] = $self->catfile('[-]',$cmd[1]) + unless (scalar(@cmd) < 2 || $self->file_name_is_absolute($cmd[1])); + $self->{$key} = join(' ', @cmd); + } } if ($self->{PARENT}) { $self->{PARENT}->{CHILDREN}->{$newclass} = $self;