provisional MakeMaker patch for VMS
Craig A. Berry [Thu, 27 Dec 2001 22:29:37 +0000 (16:29 -0600)]
Message-Id: <a05101004b8515264aa3a@[172.16.52.1]>

p4raw-id: //depot/perl@13918

lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MM_VMS.pm

index b8bfe14..9b7d224 100644 (file)
@@ -1442,9 +1442,9 @@ sub init_dirscan {        # --- File and Directory Lists (.xs .pm .pod etc)
            if ($txt =~ /Extracting \S+ \(with variable substitutions/) {
                ($pl_files{$name} = $name) =~ s/[._]pl\z//i ;
            }
-           else { $pm{$name} = File::Spec->catfile('$(INST_LIBDIR)',$name); }
+           else { $pm{$name} = File::Spec->catfile($self->{INST_LIBDIR},$name); }
        } elsif ($name =~ /\.(p[ml]|pod)\z/){
-           $pm{$name} = File::Spec->catfile('$(INST_LIBDIR)',$name);
+           $pm{$name} = File::Spec->catfile($self->{INST_LIBDIR},$name);
        }
     }
 
@@ -1500,9 +1500,9 @@ sub init_dirscan {        # --- File and Directory Lists (.xs .pm .pod etc)
                return;
            }
            return if /\#/;
-           my($path, $prefix) = ($File::Find::name, '$(INST_LIBDIR)');
+           my($path, $prefix) = ($File::Find::name, $self->{INST_LIBDIR});
            my($striplibpath,$striplibname);
-           $prefix =  '$(INST_LIB)' if (($striplibpath = $path) =~ s:^(\W*)lib\W:$1:i);
+           $prefix =  $self->{INST_LIB} if (($striplibpath = $path) =~ s:^(\W*)lib\W:$1:i);
            ($striplibname,$striplibpath) = fileparse($striplibpath);
            my($inst) = File::Spec->catfile($prefix,$striplibpath,$striplibname);
            local($_) = $inst; # for backwards compatibility
@@ -1791,10 +1791,10 @@ usually solves this kind of problem.
 
     # We need to set up INST_LIBDIR before init_libscan() for VMS
     my @parentdir = split(/::/, $self->{PARENT_NAME});
-    $self->{INST_LIBDIR} = File::Spec->catdir('$(INST_LIB)',@parentdir);
-    $self->{INST_ARCHLIBDIR} = File::Spec->catdir('$(INST_ARCHLIB)',@parentdir);
-    $self->{INST_AUTODIR} = File::Spec->catdir('$(INST_LIB)','auto','$(FULLEXT)');
-    $self->{INST_ARCHAUTODIR} = File::Spec->catdir('$(INST_ARCHLIB)','auto','$(FULLEXT)');
+    $self->{INST_LIBDIR} = File::Spec->catdir($self->{INST_LIB},@parentdir);
+    $self->{INST_ARCHLIBDIR} = File::Spec->catdir($self->{INST_ARCHLIB},@parentdir);
+    $self->{INST_AUTODIR} = File::Spec->catdir($self->{INST_LIB},'auto',$self->{FULLEXT});
+    $self->{INST_ARCHAUTODIR} = File::Spec->catdir($self->{INST_ARCHLIB},'auto',$self->{FULLEXT});
 
     # INST_EXE is deprecated, should go away March '97
     $self->{INST_EXE} ||= File::Spec->catdir(File::Spec->curdir,'blib','script');
index fc05da2..814a96f 100644 (file)
@@ -19,6 +19,7 @@ our($Revision, @ISA, $VERSION, $Verbose);
 # All on one line so MakeMaker can see it.
 ($VERSION) = ($Revision = '5.56 (27-Apr-1999)') =~ /^([\d.]+)/;
 
+@ISA = qw( File::Spec );
 unshift @MM::ISA, 'ExtUtils::MM_VMS';
 
 require ExtUtils::MakeMaker;
@@ -73,7 +74,7 @@ Returns a string representing of the root directory.
 =cut
 
 sub rootdir {
-    return File::Spec->rootdir();'
+    return File::Spec->rootdir();
 }
 
 package ExtUtils::MM_VMS;
@@ -803,7 +804,7 @@ command line to find args.
 sub pm_to_blib {
     my($self) = @_;
     my($line,$from,$to,@m);
-    my($autodir) = File::Spec->catdir('$(INST_LIB)','auto');
+    my($autodir) = File::Spec->catdir($self->{INST_LIB},'auto');
     my(@files) = @{$self->{PM_TO_BLIB}};
 
     push @m, q{