summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2002-01-20 16:49:42 -0600
committerJarkko Hietaniemi <jhi@iki.fi>2002-01-21 03:53:08 +0000
commitb5de4a98103dfa430d42f468a291a4d863f78b13 (patch)
treefe2ef8d0e7489b466825d969399c6bc33ff42108
parent388296f8bf01d277cfa6ee511a5ff0d85366576f (diff)
downloadperl-b5de4a98103dfa430d42f468a291a4d863f78b13.tar.gz
MakeMaker.pm sub-Makefile.PL tweak for VMS
Message-Id: <a05101004b8714273d60c@[172.16.52.1]> p4raw-id: //depot/perl@14364
-rw-r--r--lib/ExtUtils/MakeMaker.pm20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm
index 92a46a8005..435d9842df 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;