diff options
author | Alexander Smishlajev <als@turnhere.com> | 1999-04-25 17:58:29 +0300 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-05-10 04:39:15 +0000 |
commit | 8736538c3cff6585c95a01b990d3b3a9e5d5744d (patch) | |
tree | a62ec1da701a15abcbfdff76f248259b80548f1a /installperl | |
parent | 3eeba6fb8b434fcb27f601771baa0ea98f44d487 (diff) | |
download | perl-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-x | installperl | 33 |
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; |