perl 5.003_07: lib/ExtUtils/xsubpp
[p5sagit/p5-mst-13.2.git] / lib / ExtUtils / Install.pm
index 45bd2d7..dda1325 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::Install;
 
-$VERSION = substr q$Revision: 1.12 $, 10;
-# $Id: Install.pm,v 1.12 1996/06/23 20:46:07 k Exp $
+$VERSION = substr q$Revision: 1.15 $, 10;
+# $Date: 1996/09/03 21:58:58 $
 
 use Exporter;
 use Carp ();
@@ -34,16 +34,9 @@ sub install {
     use File::Copy qw(copy);
     use File::Find qw(find);
     use File::Path qw(mkpath);
-    # The following lines were needed with AutoLoader (left for the record)
-    # my $my_req = $self->catfile(qw(auto ExtUtils Install my_cmp.al));
-    # require $my_req;
-    # $my_req = $self->catfile(qw(auto ExtUtils Install forceunlink.al));
-    # require $my_req; # Hairy, but for the first
-    # time use we are in a different directory when autoload happens, so
-    # the relativ path to ./blib is ill.
 
     my(%hash) = %$hash;
-    my(%pack, %write, $dir);
+    my(%pack, %write, $dir, $warn_permissions);
     local(*DIR, *P);
     for (qw/read write/) {
        $pack{$_}=$hash{$_};
@@ -59,7 +52,8 @@ sub install {
            if (-w $hash{$source_dir_or_file} || mkpath($hash{$source_dir_or_file})) {
                last;
            } else {
-               Carp::croak("You do not have permissions to install into $hash{$source_dir_or_file}");
+               warn "Warning: You do not have permissions to install into $hash{$source_dir_or_file}"
+                   unless $warn_permissions++;
            }
        }
        closedir DIR;
@@ -253,7 +247,9 @@ sub pm_to_blib {
            mkpath(dirname($fromto->{$_}),0,0755);
        }
        copy($_,$fromto->{$_});
-       chmod(0444 | ( (stat)[2] & 0111 ? 0111 : 0 ),$fromto->{$_});
+       my($mode,$atime,$mtime) = (stat)[2,8,9];
+       utime($atime,$mtime+$Is_VMS,$fromto->{$_});
+       chmod(0444 | ( $mode & 0111 ? 0111 : 0 ),$fromto->{$_});
        print "cp $_ $fromto->{$_}\n";
        next unless /\.pm$/;
        autosplit($fromto->{$_},$autodir);
@@ -318,8 +314,8 @@ be copied preserving timestamps and permissions.
 
 There are two keys with a special meaning in the hash: "read" and
 "write". After the copying is done, install will write the list of
-target files to the file named by $hashref->{write}. If there is
-another file named by $hashref->{read}, the contents of this file will
+target files to the file named by C<$hashref-E<gt>{write}>. If there is
+another file named by C<$hashref-E<gt>{read}>, the contents of this file will
 be merged into the written file. The read and the written file may be
 identical, but on AFS it is quite likely, people are installing to a
 different directory than the one where the files later appear.
@@ -334,4 +330,3 @@ the extension pm are autosplit. Second argument is the autosplit
 directory.
 
 =cut
-