summaryrefslogtreecommitdiff
path: root/installperl
diff options
context:
space:
mode:
authorAlexander Smishlajev <als@turnhere.com>1999-04-25 17:58:29 +0300
committerGurusamy Sarathy <gsar@cpan.org>1999-05-10 04:39:15 +0000
commit8736538c3cff6585c95a01b990d3b3a9e5d5744d (patch)
treea62ec1da701a15abcbfdff76f248259b80548f1a /installperl
parent3eeba6fb8b434fcb27f601771baa0ea98f44d487 (diff)
downloadperl-8736538c3cff6585c95a01b990d3b3a9e5d5744d.tar.gz
cygwin32 update (untested adaptation of patch against 5.005_03)
Message-ID: <37230365.5F68B460@turnhere.com> Subject: [PATCH]5.005_03 (CORE) cygwin32 port p4raw-id: //depot/perl@3358
Diffstat (limited to 'installperl')
-rwxr-xr-xinstallperl33
1 files changed, 27 insertions, 6 deletions
diff --git a/installperl b/installperl
index 4e9b391aa8..7689005edd 100755
--- a/installperl
+++ b/installperl
@@ -8,12 +8,13 @@ BEGIN {
}
use strict;
-use vars qw($Is_VMS $Is_W32 $Is_OS2 $nonono $versiononly $depth);
+use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $nonono $versiononly $depth);
BEGIN {
$Is_VMS = $^O eq 'VMS';
$Is_W32 = $^O eq 'MSWin32';
$Is_OS2 = $^O eq 'os2';
+ $Is_Cygwin = $^O =~ /cygwin/i;
if ($Is_VMS) { eval 'use VMS::Filespec;' }
}
@@ -141,10 +142,24 @@ if ($d_dosuid && $>) { die "You must run as root to install suidperl\n"; }
|| warn "WARNING: You've never run 'make test'!!!",
" (Installing anyway.)\n";
-if ($Is_W32) {
-
-my $perldll = 'perl.' . $dlext;
-$perldll = 'perlcore.' . $dlext if $Config{'ccflags'} =~ /PERL_OBJECT/i;
+if ($Is_W32 or $Is_Cygwin) {
+ my $perldll;
+
+if ($Is_Cygwin) {
+ $perldll = $libperl;
+ $perldll =~ s/(\..*)?$/.$dlext/;
+ if ($Config{useshrplib} eq 'true') {
+ # install ld2 and perlld as well
+ foreach ('ld2', 'perlld') {
+ safe_unlink("$installbin/$_");
+ copy("$_", "$installbin/$_");
+ chmod(0755, "$installbin/$_");
+ };
+ };
+} else {
+ $perldll = 'perl.' . $dlext;
+ $perldll = 'perlcore.' . $dlext if $Config{'ccflags'} =~ /PERL_OBJECT/i;
+}
-f $perldll || die "No perl DLL built\n";
@@ -227,7 +242,13 @@ if ($Is_VMS) { # We did core file selection during build
@corefiles = <$coredir/*.*>;
}
else {
+ # [als] hard-coded 'libperl' name... not good!
@corefiles = <*.h libperl*.*>;
+
+ # cygwin needs special stub for dll loading
+ push @corefiles, 'impure_ptr.o'
+ if ($Is_Cygwin and $Config{useshrplib} eq 'true');
+
# AIX needs perl.exp installed as well.
push(@corefiles,'perl.exp') if $^O eq 'aix';
if ($^O eq 'mpeix') {
@@ -439,7 +460,7 @@ sub unlink {
foreach my $name (@names) {
next unless -e $name;
- chmod 0777, $name if ($Is_OS2 || $Is_W32);
+ chmod 0777, $name if ($Is_OS2 || $Is_W32 || $Is_Cygwin);
print STDERR " unlink $name\n";
( CORE::unlink($name) and ++$cnt
or warn "Couldn't unlink $name: $!\n" ) unless $nonono;