}
$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.
+
+$opts{destdir} = '';
# Consider refactoring this to use Getopt::Long once Getopt::Long's planned
# feature is implemented, to distinguish + and - options.
while (@ARGV) {
push(@scripts, map("$_.exe", @scripts));
}
+# Exclude nonxs extensions that are not architecture dependent
+my @nonxs = grep(!/^Errno$/, split(' ', $Config{'nonxs_ext'}));
+
find(sub {
- if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) {
+ if (($File::Find::name =~ m{^ext\b(.*)/([^/]+)\.pm$}) &&
+ ! grep { $File::Find::name =~ /^ext\/$_/ } @nonxs)
+ {
my($path, $modname) = ($1,$2);
# strip to optional "/lib", or remove trailing component
map { s|^$coredir/||i; } @corefiles = <$coredir/*.*>;
}
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";
+ safe_unlink($coredll);
( $Config{'d_link'} eq 'define' &&
- eval { CORE::link "$installbin/$libperl", $coredll } ) ||
- eval { symlink "$installbin/$libperl", $coredll } ||
- copy("$installbin/$libperl", $coredll);
- @corefiles = <*.h libperl*.* perl*$Config{lib_ext}>;
+ eval {
+ CORE::link("$installbin/$libperl", $coredll);
+ $packlist->{$coredll} = { from => "$installbin/$libperl",
+ type => 'link' };
+ }
+ ) ||
+ eval {
+ symlink("$installbin/$libperl", $coredll);
+ $packlist->{$coredll} = { from => "$installbin/$libperl",
+ type => 'link' };
+ } ||
+ ( copy("$installbin/$libperl", $coredll) &&
+ push(@corefiles, $coredll)
+ )
} else {
# [als] hard-coded 'libperl' name... not good!
@corefiles = <*.h libperl*.* perl*$Config{lib_ext}>;
my($from,$to) = @_;
my $xto = $to;
- $xto =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+ $xto =~ s/^\Q$opts{destdir}\E//;
print $opts{verbose} ? " cp $from $xto\n" : " $xto\n"
unless $opts{silent};
print " creating new version of $xto\n"
unlink("$installarchlib/$name");
}
my $xname = "$installlib/$name";
- $xname =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+ $xname =~ s/^\Q$opts{destdir}\E//;
$packlist->{$xname} = { type => 'file' };
if ($force || compare($_, "$installlib/$name") || $opts{notify}) {
unlink("$installlib/$name");
my($from,$to)=@_;
return 1 if (($^O eq 'VMS') && (-d $from));
my $xto = $to;
- $xto =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+ $xto =~ s/^\Q$opts{destdir}\E//;
my $perlpodbadsymlink;
if ($from =~ m!^pod/perl[\w-]+\.pod$! &&
-l $from &&