summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-03-05 22:11:42 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-03-05 22:11:42 +0000
commit1fc4cb5503ed4e568f4cafd2aff20f315226e3bd (patch)
treec522b173c73f14eaa9d49a56d0d48830556ad8ba
parent94b6baf514e11d40f0215cb928074cb7980c3082 (diff)
downloadperl-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-xConfigure6
-rw-r--r--U/dist3_051.pat41
-rw-r--r--embed.h1
-rw-r--r--global.sym1
-rw-r--r--hints/dec_osf.sh8
-rw-r--r--hints/linux.sh14
-rw-r--r--lib/File/Path.pm6
7 files changed, 68 insertions, 9 deletions
diff --git a/Configure b/Configure
index 86f28eb61d..e6153de51b 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$$ <<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
diff --git a/embed.h b/embed.h
index 7ee837ef8f..67ab7dcfe6 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 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);>