summaryrefslogtreecommitdiff
path: root/U
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-02-27 22:35:59 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-02-27 22:35:59 +0000
commit94b6baf514e11d40f0215cb928074cb7980c3082 (patch)
treee76bdfec5fa9b267fffb2eec2653d14e15dffb3c /U
parent40000a8c37c35cc00114329ca0add46bca36a0ec (diff)
downloadperl-94b6baf514e11d40f0215cb928074cb7980c3082.tar.gz
perl5.000 patch.0m: [various fixes, hint file updates and documentation]
This is my patch patch.0m for perl5.000. This patch fixes all remaining problems that I am aware of, and for which I have a solution. It also updates some hint files and documentation. Here's what's new: Configure Protect against spaces in uname -m output (unicos). Look in <stdlib.h> for malloctype and freetype. Check if user has void free() or int free(). Look in linux/signal.h for signal names. MANIFEST MANIFEST.new Two new hint files: cxux.sh and PowerUNIX.sh. Sorted. README Indicate what gets installed and where it usually goes. Thanks to Hallvard B. Furuseth <h.b.furuseth@usit.uio.no> for suggesting this. U/Myinit.U Update extliblist comment. U/dist3_051.pat This file contains patches to dist 3 (PL 51) that I used to generate Configure for perl. U/mallocsrc.U Look in <stdlib.h> for malloctype and freetype. Check if user has void free() or int free(). config_h.SH config.H Add Free_t to handle void free() vs. int free(). ext/DynaLoader/README Updated comment. ext/POSIX/POSIX.pm creat() has 2 arguments, not 3 (thanks, Paul). ext/POSIX/POSIX.xs Fix return type of lseek. ext/SDBM_File/sdbm/sdbm.h Add I_STDLIB guard on #include <stdlib.h> ext/util/extliblist Add note indicating this is obsolete. Don't remove it because people might be using it for their own private extensions. hints/PowerUNIX.sh hints/cxux.sh New files. Written by Tom.Horsley@mail.hcsc.com hints/linux.sh Simplified. lib/ExtUtils/MakeMaker.pm Typo fixed, only affected aix? malloc.c Allow for possible int free(). perl.h pp_sys.c util.c If the user is not using vfork, move the #define vfork fork util after various #include files. Since vfork() and fork() might have different prototypes, the #define could cause a conflict in system header files. (Reported for 386bsd.) Makefile.SH make realclean will remove h2xs and makeaperl (but leave behind the .SH versions, of course).
Diffstat (limited to 'U')
-rw-r--r--U/Myinit.U2
-rw-r--r--U/dist3_051.pat139
-rw-r--r--U/dist3_051.patches75
-rw-r--r--U/mallocsrc.U51
4 files changed, 182 insertions, 85 deletions
diff --git a/U/Myinit.U b/U/Myinit.U
index 15c757c97e..2f69835dbe 100644
--- a/U/Myinit.U
+++ b/U/Myinit.U
@@ -34,7 +34,7 @@ libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl'
libswanted="$libswanted dld ld sun m c cposix posix ndir dir crypt"
libswanted="$libswanted ucb bsd BSD PW x"
: We probably want to search /usr/shlib before most other libraries.
-: This is only used by ext/util/extliblist
+: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
glibpth="/usr/shlib $glibpth"
: Do not use vfork unless overridden by a hint file.
diff --git a/U/dist3_051.pat b/U/dist3_051.pat
new file mode 100644
index 0000000000..fd2ea6701c
--- /dev/null
+++ b/U/dist3_051.pat
@@ -0,0 +1,139 @@
+This file contains patches to dist 3 (PL 51) that I used to generate
+Configure for perl.
+
+These patches do the following:
+
+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.
+sig_name.U
+ Look in <linux/signals.h> too.
+usrinc.U
+ Ensure that the ./mips file exists. libpth.U calls it.
+
+ Andy Dougherty doughera@lafcol.lafayette.edu
+ Dept. of Physics
+ Lafayette College, Easton, PA 18042 USA
+
+Index: Oldconfig.U
+Prereq: 3.0.1.7
+*** mcon/U/Oldconfig.U Thu Feb 16 09:52:38 1995
+--- /home2/doughera/lib/dist/U/Oldconfig.U Thu Feb 16 16:26:25 1995
+***************
+*** 264,275 ****
+ osvers="$3"
+ ;;
+ osf1) case "$5" in
+! alpha) osname=dec_osf
+! case "$3" in
+! [vt]1\.*) osvers=1 ;;
+! [vt]2\.*) osvers=2 ;;
+! [vt]3\.*) osvers=3 ;;
+! esac
+ ;;
+ hp*) osname=hp_osf1 ;;
+ mips) osname=mips_osf1 ;;
+--- 264,274 ----
+ osvers="$3"
+ ;;
+ osf1) case "$5" in
+! alpha)
+! ?X: DEC OSF/1 myuname -a output looks like: osf1 xxxx t3.2 123.4 alpha
+! ?X: where the version number can be either vn.n or tn.n.
+! osname=dec_osf
+! osvers=`echo "$3" | sed 's/^[vt]//'`
+ ;;
+ hp*) osname=hp_osf1 ;;
+ mips) osname=mips_osf1 ;;
+Index: archname.U
+Prereq: 3.0.1.1
+*** mcon/U/archname.U Thu Feb 16 09:52:31 1995
+--- /home2/doughera/lib/dist/U/archname.U Mon Feb 27 15:24:22 1995
+***************
+*** 12,18 ****
+ ?RCS: Revision 3.0.1.1 1995/02/15 14:14:21 ram
+ ?RCS: patch51: created
+ ?RCS:
+! ?MAKE:archname myarchname: cat Loc Myread Oldconfig osname test rm
+ ?MAKE: -pick add $@ %<
+ ?S:archname:
+ ?S: This variable is a short name to characterize the current
+--- 12,18 ----
+ ?RCS: Revision 3.0.1.1 1995/02/15 14:14:21 ram
+ ?RCS: patch51: created
+ ?RCS:
+! ?MAKE:archname myarchname: sed Loc Myread Oldconfig osname test rm
+ ?MAKE: -pick add $@ %<
+ ?S:archname:
+ ?S: This variable is a short name to characterize the current
+***************
+*** 43,49 ****
+ tarch=`arch`"-$osname"
+ elif xxx=`./loc uname blurfl $pth`; $test -f "$xxx" ; then
+ if uname -m > tmparch 2>&1 ; then
+! tarch=`$cat tmparch`"-$osname"
+ else
+ tarch="$osname"
+ fi
+--- 43,49 ----
+ tarch=`arch`"-$osname"
+ elif xxx=`./loc uname blurfl $pth`; $test -f "$xxx" ; then
+ if uname -m > tmparch 2>&1 ; then
+! tarch=`$sed -e 's/ /_/g' -e 's/$/'"-$osname/" tmparch`
+ else
+ tarch="$osname"
+ fi
+Index: sig_name.U
+Prereq: 3.0.1.2
+*** mcon/U/sig_name.U Wed Jun 22 01:20:22 1994
+--- /home2/doughera/lib/dist/U/sig_name.U Mon Feb 27 14:54:05 1995
+***************
+*** 40,46 ****
+ case "$sig_name" in
+ '')
+ echo "Generating a list of signal names..." >&4
+! xxx=`./findhdr signal.h`" "`./findhdr sys/signal.h`
+ set X `cat $xxx 2>&1 | $awk '
+ $1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $3 ~ /^[1-9][0-9]*$/ {
+ sig[$3] = substr($2,4,20)
+--- 40,46 ----
+ case "$sig_name" in
+ '')
+ echo "Generating a list of signal names..." >&4
+! xxx=`./findhdr signal.h`" "`./findhdr sys/signal.h`" "`./findhdr linux/signal.h`
+ set X `cat $xxx 2>&1 | $awk '
+ $1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $3 ~ /^[1-9][0-9]*$/ {
+ sig[$3] = substr($2,4,20)
+Index: usrinc.U
+Prereq: 3.0.1.1
+*** mcon/U/usrinc.U Sun May 8 22:14:36 1994
+--- /home2/doughera/lib/dist/U/usrinc.U Tue Feb 21 11:00:10 1995
+***************
+*** 60,71 ****
+ fi
+ $rm -f usr.c usr.out
+ echo "and you're compiling with the $mips_type compiler and libraries."
+ else
+ echo "Doesn't look like a MIPS system."
+ echo "exit 1" >mips
+- chmod +x mips
+- $eunicefix mips
+ fi
+ echo " "
+ case "$usrinc" in
+ '') ;;
+--- 60,72 ----
+ fi
+ $rm -f usr.c usr.out
+ echo "and you're compiling with the $mips_type compiler and libraries."
++ echo "exit 0" >mips
+ else
+ echo "Doesn't look like a MIPS system."
+ echo "exit 1" >mips
+ fi
++ chmod +x mips
++ $eunicefix mips
+ echo " "
+ case "$usrinc" in
+ '') ;;
diff --git a/U/dist3_051.patches b/U/dist3_051.patches
deleted file mode 100644
index 8df367c1e2..0000000000
--- a/U/dist3_051.patches
+++ /dev/null
@@ -1,75 +0,0 @@
-
-This file contains 2 patches to dist 3 (PL 51) that I used to generate
-Configure for perl.
-
-The first patch just cleans up and extends the $osvers detection for
-DEC OSF/1 on the Alpha.
-
-The second patch ensures that the ./mips file exists. libpth.U calls
-it.
-
- Andy Dougherty doughera@lafcol.lafayette.edu
-
-
-Index: Oldconfig.U
-Prereq: 3.0.1.7
-*** mcon/U/Oldconfig.U Thu Feb 16 09:52:38 1995
---- /home2/doughera/lib/dist/U/Oldconfig.U Thu Feb 16 16:26:25 1995
-***************
-*** 264,275 ****
- osvers="$3"
- ;;
- osf1) case "$5" in
-! alpha) osname=dec_osf
-! case "$3" in
-! [vt]1\.*) osvers=1 ;;
-! [vt]2\.*) osvers=2 ;;
-! [vt]3\.*) osvers=3 ;;
-! esac
- ;;
- hp*) osname=hp_osf1 ;;
- mips) osname=mips_osf1 ;;
---- 264,274 ----
- osvers="$3"
- ;;
- osf1) case "$5" in
-! alpha)
-! ?X: DEC OSF/1 myuname -a output looks like: osf1 xxxx t3.2 123.4 alpha
-! ?X: where the version number can be either vn.n or tn.n.
-! osname=dec_osf
-! osvers=`echo "$3" | sed 's/^[vt]//'`
- ;;
- hp*) osname=hp_osf1 ;;
- mips) osname=mips_osf1 ;;
-Index: usrinc.U
-Prereq: 3.0.1.1
-*** mcon/U/usrinc.U Sun May 8 22:14:36 1994
---- /home2/doughera/lib/dist/U/usrinc.U Tue Feb 21 11:00:10 1995
-***************
-*** 60,71 ****
- fi
- $rm -f usr.c usr.out
- echo "and you're compiling with the $mips_type compiler and libraries."
- else
- echo "Doesn't look like a MIPS system."
- echo "exit 1" >mips
-- chmod +x mips
-- $eunicefix mips
- fi
- echo " "
- case "$usrinc" in
- '') ;;
---- 60,72 ----
- fi
- $rm -f usr.c usr.out
- echo "and you're compiling with the $mips_type compiler and libraries."
-+ echo "exit 0" >mips
- else
- echo "Doesn't look like a MIPS system."
- echo "exit 1" >mips
- fi
-+ chmod +x mips
-+ $eunicefix mips
- echo " "
- case "$usrinc" in
- '') ;;
diff --git a/U/mallocsrc.U b/U/mallocsrc.U
index 83560e8134..6762f9090c 100644
--- a/U/mallocsrc.U
+++ b/U/mallocsrc.U
@@ -15,9 +15,10 @@
?RCS: Revision 3.0 1993/08/18 12:09:12 ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
-?MAKE:mallocsrc mallocobj usemymalloc malloctype d_mymalloc: Myread \
+?MAKE:mallocsrc mallocobj usemymalloc malloctype d_mymalloc \
+ freetype: Myread \
Oldconfig package Guess Setvar rm cat +cc +ccflags Findhdr \
- i_malloc sed libs
+ i_malloc i_stdlib sed libs
?MAKE: -pick add $@ %<
?S:usemymalloc:
?S: This variable contains y if the malloc that comes with this package
@@ -43,13 +44,22 @@
?S: Otherwise the value is null. This variable is intended for generating
?S: Makefiles. See mallocsrc.
?S:.
+?S:freetype:
+?S: This variable contains the return type of free(). It is usually
+?S: void, but occasionally int.
+?S:.
?S:malloctype:
?S: This variable contains the kind of ptr returned by malloc and realloc.
?S:.
+?C:Free_t:
+?C: This variable contains the return type of free(). It is usually
+?C: void, but occasionally int.
+?C:.
?C:Malloc_t (MALLOCPTRTYPE):
?C: This symbol is the type of pointer returned by malloc and realloc.
?C:.
?H:#define Malloc_t $malloctype /**/
+?H:#define Free_t $freetype /**/
?H:.
?C:MYMALLOC:
?C: This symbol, if defined, indicates that we're using our own malloc.
@@ -99,28 +109,51 @@ y*|true)
esac
@end
-@if MALLOCPTRTYPE || Malloc_t
-: compute the type returned by malloc
+@if MALLOCPTRTYPE || Malloc_t || Free_t
+: compute the return types of malloc and free
echo " "
-case "$malloctype" in
-'')
- $cat >malloc.c <<END
+$cat >malloc.c <<END
#$i_malloc I_MALLOC
+#$i_stdlib I_STDLIB
#include <stdio.h>
#include <sys/types.h>
#ifdef I_MALLOC
#include <malloc.h>
#endif
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
+#ifdef TRY_MALLOC
void *malloc();
+#endif
+#ifdef TRY_FREE
+void free();
+#endif
END
- if $cc $ccflags -c malloc.c >/dev/null 2>&1; then
+@if MALLOCPTRTYPE || Malloc_t
+case "$malloctype" in
+'')
+ if $cc $ccflags -c -DTRY_MALLOC malloc.c >/dev/null 2>&1; then
malloctype='void *'
else
malloctype='char *'
fi
- $rm -f malloc.[co]
;;
esac
echo "Your system wants malloc to return '$malloctype', it would seem." >&4
+@end
+@if Free_t
+case "$freetype" in
+'')
+ if $cc $ccflags -c -DTRY_FREE malloc.c >/dev/null 2>&1; then
+ freetype='void'
+ else
+ freetype='int'
+ fi
+ ;;
+esac
+echo "Your system uses $freetype free(), it would seem." >&4
+@end
+$rm -f malloc.[co]
@end