diff options
author | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-01-26 00:40:50 +0000 |
---|---|---|
committer | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-01-26 00:40:50 +0000 |
commit | 75f926282bd78abe2f394977be7dd4dc52cb21ba (patch) | |
tree | fd86369fb52a5fa00387d1ce65c7086f0ac41b94 /installperl | |
parent | 420218e7eb4fa5ceefe298e6d9121548b8d806d6 (diff) | |
download | perl-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-x | installperl | 22 |
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"); |