diff options
author | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-03-05 22:11:42 +0000 |
---|---|---|
committer | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-03-05 22:11:42 +0000 |
commit | 1fc4cb5503ed4e568f4cafd2aff20f315226e3bd (patch) | |
tree | c522b173c73f14eaa9d49a56d0d48830556ad8ba | |
parent | 94b6baf514e11d40f0215cb928074cb7980c3082 (diff) | |
download | perl-1fc4cb5503ed4e568f4cafd2aff20f315226e3bd.tar.gz |
perl5.000 patch.0n: [address Configure and build issues]
This is my patch patch.0n for perl5.000.
This _very_ small patch
1. updates the linux and dec_osf hints files,
2. adds sv_isobject to global.sym,
3. updates Configure to deal with recent Linux nm output, and
4. fixes the names in File::Path.
This patch addresses only Configure and build issues for which I have
tested solutions. It does nothing else. Maybe some of the other patches
floating around should be included. Maybe not. I'm afraid I just
don't have time to think about them now.
Unless something's broken, I hope not to issue any more patches :-)
(Yes, I've said that before, but this one's _really_ small, and linux
support was broken.:-) Thanks to Kenneth Albanowski for researching,
implementing, and testing the Linux patch.
-rwxr-xr-x | Configure | 6 | ||||
-rw-r--r-- | U/dist3_051.pat | 41 | ||||
-rw-r--r-- | embed.h | 1 | ||||
-rw-r--r-- | global.sym | 1 | ||||
-rw-r--r-- | hints/dec_osf.sh | 8 | ||||
-rw-r--r-- | hints/linux.sh | 14 | ||||
-rw-r--r-- | lib/File/Path.pm | 6 |
7 files changed, 68 insertions, 9 deletions
@@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.6 1994/10/29 15:54:19 ram Exp $ # -# Generated on Tue Feb 28 10:00:27 EST 1995 [metaconfig 3.0 PL51] +# Generated on Mon Mar 6 11:00:02 EST 1995 [metaconfig 3.0 PL51] cat >/tmp/c1$$ <<EOF ARGGGHHHH!!!!! @@ -3084,7 +3084,7 @@ $echo $n ".$c" $grep fprintf libc.tmp > libc.ptf xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4' xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4' -if com="$sed -n -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ +if com="$sed -n -e 's/__IO//' -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun @@ -3127,7 +3127,7 @@ elif com="$sed -n -e '/Def. Text/s/.* \([^ ]*\)\$/\1/p'";\ eval $xrun else nm -p $* 2>/dev/null >libc.tmp - com="$sed -n -e 's/^.* [ADTS] *_[_.]*//p' -e 's/^.* [ADTS] //p'";\ + com="$sed -n -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ eval "<libc.tmp $com >libc.list" if $contains '^fprintf$' libc.list >/dev/null 2>&1; then nm_opt='-p' diff --git a/U/dist3_051.pat b/U/dist3_051.pat index fd2ea6701c..1a671d8bb0 100644 --- a/U/dist3_051.pat +++ b/U/dist3_051.pat @@ -7,6 +7,8 @@ Oldconfig.U Clean up and extend the $osvers detection for DEC OSF/1 on the Alpha. archname.U Protect against spaces in the output of uname -m. +libc.U + Pick up Linux nm output with leading __IO. sig_name.U Look in <linux/signals.h> too. usrinc.U @@ -84,6 +86,45 @@ Prereq: 3.0.1.1 else tarch="$osname" fi +Index: libc.U +Prereq: 3.0.1.7 +*** mcon/U/libc.U Sat Oct 29 15:28:06 1994 +--- /home2/doughera/lib/dist/U/libc.U Mon Mar 6 10:34:07 1995 +*************** +*** 218,224 **** + xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4' + xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4' + ?X: BSD-like output, I-type for Linux +! if com="$sed -n -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +--- 218,225 ---- + xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4' + xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4' + ?X: BSD-like output, I-type for Linux +! ?X: Some versions of Linux include a leading __IO in the symbol name. +! if com="$sed -n -e 's/__IO//' -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +*************** +*** 263,269 **** + eval $xrun + else + nm -p $* 2>/dev/null >libc.tmp +! com="$sed -n -e 's/^.* [ADTS] *_[_.]*//p' -e 's/^.* [ADTS] //p'";\ + eval "<libc.tmp $com >libc.list" + if $contains '^fprintf$' libc.list >/dev/null 2>&1; then + nm_opt='-p' +--- 264,270 ---- + eval $xrun + else + nm -p $* 2>/dev/null >libc.tmp +! com="$sed -n -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ + eval "<libc.tmp $com >libc.list" + if $contains '^fprintf$' libc.list >/dev/null 2>&1; then + nm_opt='-p' Index: sig_name.U Prereq: 3.0.1.2 *** mcon/U/sig_name.U Wed Jun 22 01:20:22 1994 @@ -938,6 +938,7 @@ #define sv_inc Perl_sv_inc #define sv_insert Perl_sv_insert #define sv_isa Perl_sv_isa +#define sv_isobject Perl_sv_isobject #define sv_len Perl_sv_len #define sv_magic Perl_sv_magic #define sv_mortalcopy Perl_sv_mortalcopy diff --git a/global.sym b/global.sym index 54b78c2ee0..54217de072 100644 --- a/global.sym +++ b/global.sym @@ -938,6 +938,7 @@ sv_grow sv_inc sv_insert sv_isa +sv_isobject sv_len sv_magic sv_mortalcopy diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 38b48e53e3..85de7cb042 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -1,3 +1,11 @@ # hints/dec_osf.sh +case "$optimize" in +'') + case "$cc" in + *gcc*) ;; + *) optimize='-O2 -Olimit 2900' ;; + esac + ;; +esac ccflags="$ccflags -DSTANDARD_C" lddlflags='-shared -expect_unresolved "*" -s' diff --git a/hints/linux.sh b/hints/linux.sh index cde47b1cb9..97be1d76cd 100644 --- a/hints/linux.sh +++ b/hints/linux.sh @@ -1,14 +1,22 @@ # hints/linux.sh # Original version by rsanders -# Additional dlext support by Kenneth Albanowski <kjahds@kjahds.com> +# Additional support by Kenneth Albanowski <kjahds@kjahds.com> # # First pass at ELF support by Andy Dougherty <doughera@lafcol.lafayette.edu> # Fri Feb 3 14:05:00 EST 1995 # Use sh Configure -Dcc=gcc-elf to try using gcc-elf. It might work. # +# Last updated Mon Mar 6 10:18:10 EST 1995 +# + +# Why is this needed? +bin='/usr/bin' + +# Apparently some versions of gcc 2.6.2 are picking up _G_HAVE_BOOL +# from somewhere (_G_config.h maybe?) but not actually defining bool. +# Anyone really know what's going on? +ccflags='-Dbool=char -DHAS_BOOL' -ccflags='-I/usr/include/bsd' -cppflags=' -I/usr/include/bsd' d_dosuid='define' malloctype='void *' diff --git a/lib/File/Path.pm b/lib/File/Path.pm index bafe10828b..30f550d7f4 100644 --- a/lib/File/Path.pm +++ b/lib/File/Path.pm @@ -1,12 +1,12 @@ -package File::Mkpath; +package File::Path; =head1 NAME -File::Mkpath - create or remove a series of directories +File::Path - create or remove a series of directories =head1 SYNOPSIS -C<use File::Mkpath> +C<use File::Path> C<mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711);> |