summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinstallperl25
1 files changed, 20 insertions, 5 deletions
diff --git a/installperl b/installperl
index e999d3bdbf..465b48d171 100755
--- a/installperl
+++ b/installperl
@@ -84,6 +84,17 @@ if ($d_dosuid && $>) { die "You must run as root to install suidperl\n"; }
-x 't/TEST' || warn "WARNING: You've never run 'make test'!!!",
" (Installing anyway.)\n";
+if ($^O eq 'MSWin32') {
+
+-f 'perl.' . $dlext || die "No perl DLL built\n";
+
+# Install the DLL
+
+safe_unlink("$installbin/perl.$dlext");
+copy("perl.$dlext", "$installbin/perl.$dlext");
+chmod(0755, "$installbin/perl.$dlext");
+}
+
# First we install the version-numbered executables.
safe_unlink("$installbin/perl$ver$exe_ext");
@@ -256,7 +267,7 @@ if (! $versiononly || !($installprivlib =~ m/\Q$]/)) {
if (!$versiononly) {
- $dirsep = ($^O eq 'os2') ? ';' : ':' ;
+ $dirsep = ($^O eq 'os2' || $^O eq 'MSWin32') ? ';' : ':' ;
($path = $ENV{"PATH"}) =~ s:\\:/:g ;
@path = split(/$dirsep/, $path);
@otherperls = ();
@@ -302,7 +313,7 @@ sub unlink {
foreach $name (@names) {
next unless -e $name;
- chmod 0777, $name if $^O eq 'os2';
+ chmod 0777, $name if ($^O eq 'os2' || $^O eq 'MSWin32');
print STDERR " unlink $name\n";
( CORE::unlink($name) and ++$cnt
or warn "Couldn't unlink $name: $!\n" ) unless $nonono;
@@ -315,7 +326,7 @@ sub safe_unlink {
local @names = @_;
foreach $name (@names) {
next unless -e $name;
- chmod 0777, $name if $^O eq 'os2';
+ chmod 0777, $name if ($^O eq 'os2' || $^O eq 'MSWin32');
print STDERR " unlink $name\n";
next if CORE::unlink($name);
warn "Couldn't unlink $name: $!\n";
@@ -383,9 +394,11 @@ sub copy {
sub samepath {
local($p1, $p2) = @_;
- local($dev1, $ino1, $dev2, $ino2);
+
+ return (lc($p1) eq lc($p2)) if ($^O eq 'MSWin32');
if ($p1 ne $p2) {
+ local($dev1, $ino1, $dev2, $ino2);
($dev1, $ino1) = stat($p1);
($dev2, $ino2) = stat($p2);
($dev1 == $dev2 && $ino1 == $ino2);
@@ -414,7 +427,9 @@ sub installlib {
my $installlib = $installprivlib;
if ($dir =~ /^auto/ ||
- ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1})) {
+ ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
+ ($name =~ /^(.*)\.(?:h|lib)$/i && $^O eq 'MSWin32')
+ ) {
$installlib = $installarchlib;
return unless $do_installarchlib;
} else {