This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
SvUPGRADE doesn't return false.
[perl5.git] / installperl
index 5be24b9..04ae476 100755 (executable)
@@ -252,6 +252,9 @@ else {
                                " some tests failed! (Installing anyway.)\n";
 } #if (!$Is_NetWare)
 
+# This will be used to store the packlist
+my $packlist = ExtUtils::Packlist->new("$installarchlib/.packlist");
+
 if (($Is_W32 and ! $Is_NetWare) or $Is_Cygwin) {
     my $perldll;
 
@@ -266,6 +269,7 @@ if (($Is_W32 and ! $Is_NetWare) or $Is_Cygwin) {
                safe_unlink("$installbin/$_");
                copy("$_", "$installbin/$_");
                chmod(0755, "$installbin/$_");
+               $packlist->{"$installbin/$_"} = { type => 'file' };
            };
            open (LD2, ">$installbin/ld2");
            print LD2 <<SHELL;
@@ -302,11 +306,9 @@ SHELL
     safe_unlink("$installbin/$perldll");
     copy("$perldll", "$installbin/$perldll");
     chmod(0755, "$installbin/$perldll");
+    $packlist->{"$installbin/$perldll"} = { type => 'file' };
 } # if (($Is_W32 and ! $Is_NetWare) or $Is_Cygwin)
 
-# This will be used to store the packlist
-my $packlist = ExtUtils::Packlist->new("$installarchlib/.packlist");
-
 # First we install the version-numbered executables.
 
 if ($Is_VMS) {
@@ -404,7 +406,7 @@ if ($Is_VMS) {  # We did core file selection during build
 }
 else {
     # [als] hard-coded 'libperl' name... not good!
-    @corefiles = <*.h libperl*.*>;
+    @corefiles = <*.h libperl*.* perl*$Config{lib_ext}>;
 
     # AIX needs perl.exp installed as well.
     push(@corefiles,'perl.exp') if $^O eq 'aix';
@@ -446,7 +448,7 @@ if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VM
        link("$installbin/$perl_verbase$ver$exe_ext",
                "$installbin/$perl$exe_ext");
     }
-    link("$installbin/s$perl_verbase$ver$exe_ext",
+    link("$installbin/$perl_verbase$ver$exe_ext",
            "$installbin/suid$perl$exe_ext")
       if $d_dosuid;
 }
@@ -803,8 +805,9 @@ sub installlib {
              $dir  =~ m{/t(?:/|$)};
     # ignore the cpan script in lib/CPAN/bin, the instmodsh and xsubpp
     # scripts in lib/ExtUtils, and the prove script in lib/Test/Harness
+    # as well as the corelist script from lib/Module/CoreList/bin
     # (they're installed later with other utils)
-    return if $name =~ /^(?:cpan|instmodsh|prove)\z/;
+    return if $name =~ /^(?:cpan|instmodsh|prove|corelist)\z/;
     # ignore the Makefiles
     return if $name =~ /^makefile$/i;
     # ignore the test extensions
@@ -815,7 +818,8 @@ sub installlib {
     my $installlib = $installprivlib;
     if ($dir =~ /^auto/ ||
          ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
-         ($name =~ /^(.*)\.(?:h|lib)$/i && ($Is_W32 || $Is_NetWare))
+         ($name =~ /^(.*)\.(?:h|lib)$/i && ($Is_W32 || $Is_NetWare)) ||
+         $name eq 'Config_heavy.pl'
        ) {
        $installlib = $installarchlib;
        return unless $do_installarchlib;