summaryrefslogtreecommitdiff
path: root/installperl
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-01-26 00:40:50 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-01-26 00:40:50 +0000
commit75f926282bd78abe2f394977be7dd4dc52cb21ba (patch)
treefd86369fb52a5fa00387d1ce65c7086f0ac41b94 /installperl
parent420218e7eb4fa5ceefe298e6d9121548b8d806d6 (diff)
downloadperl-75f926282bd78abe2f394977be7dd4dc52cb21ba.tar.gz
perl5.000 patch.0i: fix glaring mistakes in patches a-h
This patch does the following things: 1. Fix various bonehead errors I introduced in patches a-g. 2. Incorporate MakeMaker changes to bring it up to version 4.01 (mostly). 3. Stick in things I forgot in patches a-g (e.g. AIX). 4. Some minor additional cleanup in x2p/ for even pickier compilers. 5. More hints updates (hpux and next). 6. Include newest dl_hpux.xs. I didn't have time to 1. Fix the overlapping strcpy() in op.c 2. Restore h2xs to Larry's original design to process <>. 3. take out unnecessary "use Config" in installperl. 4. Add in vms patches. I forgot to [If I remembered what i forgot, I wouldn't have forgotten it. :] I deliberately decided *not* to 1. Touch pod/* 2. deal with overloading Specifically, here's what's included: Configure Regenerated to be sure it's up-to-date. Makefile.SH Build extension libraries right into lib/auto/whatever. Don't set CCCDLFLAGS since we don't use it anyway. Take care to avoid modifying lib/Config.pm without reason Visit DynaLoader for `make clean'. (Previously only did so for `make realclean'.) @echo "Note that make realclean does not delete config.sh" Include config.h dependency. U/i_db.U config_h.SH config.H Remove unwanted quotes around db_hashtype and db_prefixtype. configpm Allow specification of alternate name for lib/Config.pm, so the makefile mv-if-diff trick saves needless re-making. ext/DynaLoader/DynaLoader.pm Updated warning messages and comments. ext/DynaLoader/dl_hpux.xs Updated to version 2.1. Now uses bootstrap files. ext/util/make_ext Explicitly use #!/bin/sh to start it up. This is useful for testing make_ext. Improve & simplify Nested::Extension::Processing. More robust handling of `make clean'. hints/hpux_9.sh Support both the bundled and unbundled compilers. hints/next_3_2.sh Back to using -posix rather than POSIX_SOURCE. And that only for ext/POSIX/POSIX.xs. installperl Special ranlib treatment for NeXT, which gets confused about timestamps in libraries, even when you just copy the library. Supply missing '$' in samepath() function. lib/AutoSplit.pm New parameters. lib/ExtUtils/MakeMaker.pm Upgraded from 3.8 to 4.01. lib/ExtUtils/xsubpp Documentation changed from man to pod. lib/Getopt/Long.pm Avoid typo warning. Drop unused $optx. lib/Text/Tabs.pm Fix package name. makedepend.SH Explicitly start with $startsh. Catch cpp that prints # <stdin> instead of line numbers. perl.h Fix bonehead mistake that ended up calling my_fmod even if not needed. perl_exp.SH also add symbols from interp.sym proto.h Delete 2 redundant prototypes (newBINOP and newUNOP). util.c Add (char *) casts to unsigned char args to bcmp. x2p/a2p.h Rearrange order of <string?.h> and bcopy & bzero stuff. Change a few function prototypes to void, to reflect actual usage. x2p/a2py.c Change a few function types to void, to reflect actual usage. x2p/handy.h Make *alloc declarations match those in x2p/util.c. x2p/util.c Make *alloc declarations match those in x2p/handy.h. x2p/walk.c Add a (Size_t) cast for comparison of 1 to the result of strlen(). Thanks to all who's work is included here. Little of it is mine.
Diffstat (limited to 'installperl')
-rwxr-xr-xinstallperl22
1 files changed, 17 insertions, 5 deletions
diff --git a/installperl b/installperl
index 73da720ece..822b70579e 100755
--- a/installperl
+++ b/installperl
@@ -1,6 +1,6 @@
#!./perl
BEGIN { @INC=('./lib', '../lib') }
-
+use Config;
use File::Find;
$mainperldir = "/usr/bin";
@@ -139,10 +139,14 @@ else {
warn "Can't cd to lib to install lib files: $!\n";
}
-# Install header files
+# Install header files and libraries
makedir("$installarchlib/CORE");
-foreach $file (<*.h libperl*.a>) {
+foreach $file (<*.h libperl*.*>) {
cp_if_diff($file,"$installarchlib/CORE/$file");
+ if ($file =~ /\.a$/ && $Config{'osname'} eq 'next') {
+ #on NeXTs we have to rerun ranlib after copying libraries
+ &cmd("$Config{'ranlib'} $installarchlib/CORE/$file");
+ }
}
# Offer to install perl in a "standard" location
@@ -267,7 +271,7 @@ sub samepath {
local($p1, $p2) = @_;
local($dev1, $ino1, $dev2, $ino2);
- if ($p1 ne p2) {
+ if ($p1 ne $p2) {
($dev1, $ino1) = stat($p1);
($dev2, $ino2) = stat($p2);
($dev1 == $dev2 && $ino1 == $ino2);
@@ -298,6 +302,7 @@ sub installlib {
#We're installing *.al and *.ix files into $installprivlib,
#but we have to delete old *.al and *.ix files from the 5.000
#distribution:
+ #This might not work because $archname might have changed.
&unlink("$installarchlib/$name");
}
system "cmp", "-s", $_, "$installlib/$name";
@@ -305,7 +310,14 @@ sub installlib {
&unlink("$installlib/$name");
&makedir("$installlib/$dir");
&cmd("cp $_ $installlib/$dir");
- &chmod(0644, "$installlib/$name");
+ if (/\.a$/ && $Config{'osname'} eq 'next') {
+ #on NeXTs we have to rerun ranlib after copying libraries
+ &cmd("$Config{'ranlib'} $installlib/$dir/$_");
+ }
+ # HP-UX (at least) needs to maintain execute permissions
+ # on dynamically-loaded libraries.
+ &chmod(0644, "$installlib/$name")
+ unless (/\.$so$/ || /\.$dlext$/);
}
} elsif (-d $_) {
&makedir("$installlib/$name");