diff options
author | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-02-27 22:35:59 +0000 |
---|---|---|
committer | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-02-27 22:35:59 +0000 |
commit | 94b6baf514e11d40f0215cb928074cb7980c3082 (patch) | |
tree | e76bdfec5fa9b267fffb2eec2653d14e15dffb3c /U | |
parent | 40000a8c37c35cc00114329ca0add46bca36a0ec (diff) | |
download | perl-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.U | 2 | ||||
-rw-r--r-- | U/dist3_051.pat | 139 | ||||
-rw-r--r-- | U/dist3_051.patches | 75 | ||||
-rw-r--r-- | U/mallocsrc.U | 51 |
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 |