chmod(0755, "$installbin/ld2");
};
} else {
- $perldll = 'perl57.' . $dlext;
+ $perldll = 'perl58.' . $dlext;
}
if ($dlsrc ne "dl_none.xs") {
}
}
+# Switch in the 5.005-threads versions of he threadsafe queue and semaphore
+# modules if so needed.
+if ($Config{use5005threads}) {
+ for my $m (qw(Queue Semaphore)) {
+ my $t = "$installprivlib/Thread/$m.pm";
+ unlink $t;
+ copy("ext/Thread/$m.pmx", $t);
+ chmod(0444, $t);
+ }
+}
+
# Install main perl executables
# Make links to ordinary names if installbin directory isn't current directory.
if ($archname && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VMS) {
my $archperl = "$perl_verbase$ver-$Config{archname}$exe_ext";
safe_unlink("$installbin/$archperl");
- if ($^O eq 'mpeix' || $^O eq 'vos') {
- # MPE and VOS don't support hard links, so use a symlink.
+ if ($^O eq 'mpeix') {
+ # MPE doesn't support hard links, so use a symlink.
# We don't want another cloned copy.
symlink($Config{perlpath}, "$installbin/$archperl");
+ } elsif ($^O eq 'vos') {
+ # VOS doesn't support hard links, so use a symlink.
+ symlink("$installbin/$perl_verbase$ver$exe_ext",
+ "$installbin/$archperl");
} else {
link("$installbin/$perl_verbase$ver$exe_ext",
"$installbin/$archperl");
# ignore patch backups, RCS files, emacs backup & temp files and the
# .exists files, .PL files, and .t files.
- return if $name =~ m{\.orig$|~$|^#.+#$|,v$|^\.exists|\.PL$|\.t$};
+ return if $name =~ m{\.orig$|~$|^#.+#$|,v$|^\.exists|\.PL$|\.t$} ||
+ $dir =~ m{/t(?:/|$)};
+ # ignore the test extensions
+ return if $dir =~ m{ext/XS/(?:APItest|Typemap)/};
$name = "$dir/$name" if $dir ne '';
sub copy_if_diff {
my($from,$to)=@_;
return 1 if (($^O eq 'VMS') && (-d $from));
- -f $from || warn "$0: $from not found";
+ my $perlpodbadsymlink;
+ if ($from =~ m!^pod/perl[\w-]+\.pod$! &&
+ -l $from &&
+ ! -e $from) {
+ # Some Linux implementations have problems traversing over
+ # multiple symlinks (when going over NFS?) and fail to read
+ # the symlink target. Combine this with the fact that some
+ # of the pod files (the perl$OS.pod) are symlinks (to ../README.$OS),
+ # and you end up with those pods not getting installed.
+ $perlpodbadsymlink = 1;
+ }
+ -f $from || $perlpodbadsymlink || warn "$0: $from not found";
$packlist->{$to} = { type => 'file' };
if (compare($from, $to) || $nonono) {
safe_unlink($to); # In case we don't have write permissions.
if ($nonono) {
$from = $depth . "/" . $from if $depth;
}
+ if ($perlpodbadsymlink && $from =~ m!^pod/perl(.+)\.pod$!) {
+ $from = "README.$1";
+ }
copy($from, $to);
# Restore timestamps if it's a .a library or for OS/2.
if (!$nonono && ($Is_OS2 || $to =~ /\.a$/)) {