use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare
%opts $packlist);
my ($dostrip, $versiononly, $force,
- $otherperls, $archname, $nwinstall, $nopods);
+ $skip_otherperls, $archname, $nwinstall, $nopods);
BEGIN {
if ($Is_VMS) { eval 'use VMS::Filespec;' }
}
}
-$otherperls = 1;
# This little hack simplifies making the code after the comment "Fetch some
# frequently-used items from %Config" warning free. With $opts{destdir} always
# defined, it's also possible to make the s/\Q$opts{destdir}\E unconditional.
$versiononly = 1 if $ARGV[0] eq '-v';
$versiononly = 0 if $ARGV[0] eq '+v';
$opts{silent} = 1 if $ARGV[0] eq '-S';
- $otherperls = 0 if $ARGV[0] eq '-o';
+ $skip_otherperls = 1 if $ARGV[0] eq '-o';
$force = 1 if $ARGV[0] eq '-f';
$opts{verbose} = 1 if $ARGV[0] eq '-V' || $ARGV [0] eq '-n';
$archname = 1 if $ARGV[0] eq '-A';
safe_unlink("$installbin/$perldll");
copy("$perldll", "$installbin/$perldll");
chmod(0755, "$installbin/$perldll");
- $packlist->{"$installbin/$perldll"} = { type => 'file' };
+ $packlist->{"$Config{installbin}/$perldll"} = { type => 'file' };
} # if (($Is_W32 and ! $Is_NetWare) or $Is_Cygwin)
# First we install the version-numbered executables.
chmod(0755, "$installbin/${dbg}a2p$exe_ext");
}
}
-elsif ($^O eq 'mpeix') {
- # MPE lacks hard links and requires that executables with special
- # capabilities reside in the MPE namespace.
- safe_unlink("$installbin/perl$ver$exe_ext", $Config{perlpath});
- # Install the primary executable into the MPE namespace as perlpath.
- copy("perl$exe_ext", $Config{perlpath});
- chmod(0755, $Config{perlpath});
- # Create a backup copy with the version number.
- link($Config{perlpath}, "$installbin/perl$ver$exe_ext");
-}
elsif ($^O ne 'dos') {
if (!$Is_NetWare) {
safe_unlink("$installbin/$perl_verbase$ver$exe_ext");
elsif ($Is_Cygwin) { # On Cygwin symlink it to CORE to make Makefile happy
@corefiles = <*.h libperl*.* perl*$Config{lib_ext}>;
my $coredll = "$installarchlib/CORE/$libperl";
+ my $instcoredll = "$Config{installarchlib}/CORE/$libperl";
safe_unlink($coredll);
( $Config{'d_link'} eq 'define' &&
eval {
CORE::link("$installbin/$libperl", $coredll);
- $packlist->{$coredll} = { from => "$installbin/$libperl",
+ $packlist->{$instcoredll} = { from => "$Config{installbin}/$libperl",
type => 'link' };
}
) ||
eval {
symlink("$installbin/$libperl", $coredll);
- $packlist->{$coredll} = { from => "$installbin/$libperl",
+ $packlist->{$instcoredll} = { from => "$Config{installbin}/$libperl",
type => 'link' };
} ||
( copy("$installbin/$libperl", $coredll) &&
- push(@corefiles, $coredll)
+ push(@corefiles, $instcoredll)
)
} else {
# [als] hard-coded 'libperl' name... not good!
# AIX needs perl.exp installed as well.
push(@corefiles,'perl.exp') if $^O eq 'aix';
- if ($^O eq 'mpeix') {
- # MPE needs mpeixish.h installed as well.
- mkpath("$installarchlib/CORE/mpeix", $opts{verbose}, 0777);
- push(@corefiles,'mpeix/mpeixish.h');
- }
}
foreach my $file (@corefiles) {
# HP-UX (at least) needs to maintain execute permissions
# on dynamically-loadable libraries. So we do it for all.
if (copy_if_diff($file,"$installarchlib/CORE/$file")) {
if ($file =~ /\.(\Q$so\E|\Q$dlext\E)$/) {
- strip("-S", "$installarchlib/CORE/$file") if $^O =~ /^(rhapsody|darwin)$/;
+ strip("-S", "$installarchlib/CORE/$file") if $^O eq 'darwin';
chmod(0555, "$installarchlib/CORE/$file");
} else {
chmod(0444, "$installarchlib/CORE/$file");
if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VMS && ! $Is_NetWare) {
safe_unlink("$installbin/$perl$exe_ext", "$installbin/suid$perl$exe_ext");
- 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/perl$exe_ext");
- } elsif ($^O eq 'vos') {
+ if ($^O eq 'vos') {
# VOS doesn't support hard links, so use a symlink.
symlink("$installbin/$perl_verbase$ver$exe_ext",
"$installbin/$perl$exe_ext");
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') {
- # 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') {
+ if ($^O eq 'vos') {
# VOS doesn't support hard links, so use a symlink.
symlink("$installbin/$perl_verbase$ver$exe_ext",
"$installbin/$archperl");
# $_ is a name like pod/perl.pod
(my $base = $_) =~ s#.*/##;
copy_if_diff($_, "${installprivlib}/$pod/${base}");
+ chmod(0644, "${installprivlib}/$pod/${base}");
}
}
# Also skip $mainperl if the user opted to have it be a link to the
# installed perl.
-if (!$versiononly && $otherperls) {
+if (!$versiononly && !$skip_otherperls) {
my ($path, @path);
my $dirsep = ($Is_OS2 || $Is_W32 || $Is_NetWare) ? ';' : ':' ;
($path = $ENV{"PATH"}) =~ s:\\:/:g ;
# this, as $_ becomes a pathname, and so still works. However, it's not
# obvious that $_ is needed later, and hence $_ must not be modified.
- # Also, many of the regex exlusion tests below are now superfluous, as the
+ # Also, many of the regex exclusion tests below are now superfluous, as the
# files in question are either no longer in blead, or now in ext/, dist/ or
# cpan/ and not copied into lib/
# lib/Archive/Tar/bin, the config_data script in lib/Module/Build/scripts
# and zipdetails in cpan/IO-Compress/bin
# (they're installed later with other utils)
- return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|cpan2dist|cpanp|cpanp-run-perl|ptardiff|ptargrep|config_data|zipdetails)\z/;
+ return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|ptardiff|ptargrep|config_data|zipdetails)\z/;
# ignore the Makefiles
return if $name =~ /^makefile$/i;
# ignore the test extensions
if ( $dir =~ /^unicore/ ) {
if ( $name =~ /\.txt\z/ ) {
# We can ignore most, but not all .txt files
- return unless $name =~ /\A(?:Blocks|CaseFolding|SpecialCasing|NamedSequences)\.txt\z/;
+ return unless $name =~ /\A(?:Blocks|SpecialCasing|NamedSequences)\.txt\z/;
}
else {
# TestProp only needed during testing
}
if (-f $_) {
- if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
- $installlib = $installprivlib;
- #We're installing *.al and *.ix files into $installprivlib,
- #but we have to delete old *.al and *.ix files from the 5.000
- #distribution:
- #This might not work because $archname might have changed.
- unlink("$installarchlib/$name");
- }
my $xname = "$installlib/$name";
$xname =~ s/^\Q$opts{destdir}\E//;
$packlist->{$xname} = { type => 'file' };
# on dynamically-loaded libraries.
if (copy_if_diff($_, "$installlib/$name")) {
strip("-S", "$installlib/$name")
- if $^O =~ /^(rhapsody|darwin)$/ and /\.(?:so|$dlext|a)$/;
+ if $^O eq 'darwin' and /\.(?:so|$dlext|a)$/;
chmod(/\.(so|$dlext)$/ ? 0555 : 0444, "$installlib/$name");
}
}