From: Andy Dougherty Date: Sun, 5 Mar 1995 22:11:42 +0000 (+0000) Subject: perl5.000 patch.0n: [address Configure and build issues] X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=1fc4cb5503ed4e568f4cafd2aff20f315226e3bd;p=p5sagit%2Fp5-mst-13.2.git 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. --- diff --git a/Configure b/Configure index 86f28eb..e6153de 100755 --- a/Configure +++ b/Configure @@ -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$$ < libc.ptf xscan='eval "libc.list"; $echo $n ".$c" >&4' xrun='eval "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.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 fd2ea67..1a671d8 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 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.list"; $echo $n ".$c" >&4' + xrun='eval "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.list"; $echo $n ".$c" >&4' + xrun='eval "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.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.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 diff --git a/embed.h b/embed.h index 7ee837e..67ab7dc 100644 --- a/embed.h +++ b/embed.h @@ -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 54b78c2..54217de 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 38b48e5..85de7cb 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 cde47b1..97be1d7 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 +# Additional support by Kenneth Albanowski # # First pass at ELF support by Andy Dougherty # 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 bafe108..30f550d 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 +C C