[PATCH 5.004_62} Config_62-01 patch available.
Andy Dougherty [Mon, 9 Mar 1998 15:23:33 +0000 (10:23 -0500)]
Date: Mon, 9 Mar 1998 15:23:33 -0500 (EST)
Subject: [PATCH 5.004_62] Tiny hint file updates
Date: Mon, 9 Mar 1998 13:21:46 -0500 (EST)

p4raw-id: //depot/perl@812

23 files changed:
Configure
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
ext/ODBM_File/ODBM_File.xs
handy.h
hints/aix.sh
hints/dec_osf.sh
hints/dos_djgpp.sh
hints/freebsd.sh
hints/irix_6.sh
hints/irix_6_0.sh
hints/irix_6_1.sh
hints/os2.sh
hints/solaris_2.sh
patchlevel.h
perl.c
perl.h
perllio.h
pod/perldiag.pod
pp_sys.c
vms/config.vms

index 4695391..d527d96 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Tue Mar  3 11:16:26 EST 1998 [metaconfig 3.0 PL70]
+# Generated on Mon Mar  9 14:02:25 EST 1998 [metaconfig 3.0 PL70]
 
 cat >/tmp/c1$$ <<EOF
 ARGGGHHHH!!!!!
@@ -260,8 +260,6 @@ baserev=''
 bin=''
 binexp=''
 installbin=''
-bincompat3=''
-d_bincompat3=''
 byteorder=''
 cc=''
 gccversion=''
@@ -308,6 +306,10 @@ d_dlsymun=''
 d_dosuid=''
 d_suidsafe=''
 d_dup2=''
+d_endhent=''
+d_endnent=''
+d_endpent=''
+d_endsent=''
 d_fchmod=''
 d_fchown=''
 d_fcntl=''
@@ -333,6 +335,8 @@ d_uname=''
 d_getlogin=''
 d_getnbyaddr=''
 d_getnbyname=''
+d_getnent=''
+d_getpent=''
 d_getpgid=''
 d_getpgrp2=''
 d_bsdgetpgrp=''
@@ -341,6 +345,7 @@ d_getppid=''
 d_getprior=''
 d_getpbyname=''
 d_getpbynumber=''
+d_getsent=''
 d_getsbyname=''
 d_getsbyport=''
 d_gnulibc=''
@@ -351,6 +356,8 @@ d_killpg=''
 d_link=''
 d_locconv=''
 d_lockf=''
+d_longdbl=''
+longdblsize=''
 d_lstat=''
 d_mblen=''
 d_mbstowcs=''
@@ -361,6 +368,7 @@ d_memmove=''
 d_memset=''
 d_mkdir=''
 d_mkfifo=''
+d_mkstemp=''
 d_mktime=''
 d_msg=''
 d_msgctl=''
@@ -399,6 +407,8 @@ d_setgrps=''
 d_sethent=''
 d_setlinebuf=''
 d_setlocale=''
+d_setnent=''
+d_setpent=''
 d_setpgid=''
 d_setpgrp2=''
 d_bsdsetpgrp=''
@@ -410,7 +420,9 @@ d_setresuid=''
 d_setreuid=''
 d_setrgid=''
 d_setruid=''
+d_setsent=''
 d_setsid=''
+d_setvbuf=''
 d_sfio=''
 usesfio=''
 d_shm=''
@@ -2703,8 +2715,8 @@ baserev=5.0
 echo " "
 echo "Getting the current patchlevel..." >&4
 if $test -r $rsrc/patchlevel.h;then
-       patchlevel=`awk '/PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h`
-       subversion=`awk '/SUBVERSION/ {print $3}' $rsrc/patchlevel.h`
+       patchlevel=`awk '/define[       ]+PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h`
+       subversion=`awk '/define[       ]+SUBVERSION/ {print $3}' $rsrc/patchlevel.h`
 else
        patchlevel=0
        subversion=0
@@ -3025,39 +3037,6 @@ else
        installbin="$binexp"
 fi
 
-
-: Binary compatibility with 5.003 is not possible with 5.004_50 and later.
-if test $patchlevel -gt 4 -o $subversion -ge 50; then
-    d_bincompat3=$undef
-else
-       $cat <<EOM
-
-Perl 5.004 can be compiled for binary compatibility with 5.003.
-If you decide to do so, you will be able to continue using any
-extensions that were compiled for Perl 5.003.  However, binary
-compatibility forces Perl to expose some of its internal symbols
-in the same way that 5.003 did.  So you may have symbol conflicts
-if you embed a binary-compatible Perl in other programs.
-
-EOM
-       case "$d_bincompat3" in
-       "$undef") dflt=n ;;
-       *) dflt=y ;;
-       esac
-       rp='Binary compatibility with Perl 5.003?'
-       . ./myread
-       case "$ans" in
-       y*) val="$define" ;;
-       *)  val="$undef" ;;
-       esac
-       set d_bincompat3
-       eval $setvar
-       case "$d_bincompat3" in
-       "$define") bincompat3=y ;;
-       *) bincompat3=n ;;
-       esac
-fi
-
 : determine where manual pages are on this system
 echo " "
 case "$sysman" in
@@ -4685,23 +4664,23 @@ else
                eval $xrun
        else
                echo " "
-               echo "$nm didn't seem to work right. Trying ar instead..." >&4
+               echo "$nm didn't seem to work right. Trying $ar instead..." >&4
                com=''
-               if ar t $libc > libc.tmp; then
+               if $ar t $libc > libc.tmp; then
                        for thisname in $libnames; do
-                               ar t $thisname >>libc.tmp
+                               $ar t $thisname >>libc.tmp
                        done
                        $sed -e "s/\\$_o\$//" < libc.tmp > libc.list
                        echo "Ok." >&4
                else
-                       echo "ar didn't seem to work right." >&4
+                       echo "$ar didn't seem to work right." >&4
                        echo "Maybe this is a Cray...trying bld instead..." >&4
                        if bld t $libc | $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" > libc.list
                        then
                                for thisname in $libnames; do
                                        bld t $libnames | \
                                        $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" >>libc.list
-                                       ar t $thisname >>libc.tmp
+                                       $ar t $thisname >>libc.tmp
                                done
                                echo "Ok." >&4
                        else
@@ -6105,26 +6084,33 @@ $rm -f $$.tmp
 : check for ability to cast large floats to 32-bit ints.
 echo " "
 echo 'Checking whether your C compiler can cast large floats to int32.' >&4
-if $test "$intsize" -eq 4; then
+if $test "$intsize" -ge 4; then
        xxx=int
 else
        xxx=long
 fi
 $cat >try.c <<EOCP
+#include <stdio.h>
 #include <sys/types.h>
 #include <signal.h>
 $signal_t blech() { exit(3); }
 main()
 {
        $xxx i32;
-       double f;
+       double f, g;
        int result = 0;
        signal(SIGFPE, blech);
 
-       f = (double) 0x7fffffff;
-       f = 10 * f;
-       i32  = ($xxx) f;
+       /* Don't let compiler optimize the test away */
+       sscanf("2147483647", "%lf", &f); /* f = (double) 0x7fffffff; */
+       g = 10 * f;
+       i32  = ($xxx) g;
 
+       /* x86 processors will probably give 0x8000 0000, which is a
+       sign change.  We don't want that.  We want to mimic SPARC
+          behavior here, which is to preserve the sign and give
+          back 0x7fff ffff.
+       */
        if (i32 != ($xxx) f)
                result |= 1;
        exit(result);
@@ -6154,6 +6140,7 @@ $rm -f try try.*
 echo " "
 echo 'Checking whether your C compiler can cast negative float to unsigned.' >&4
 $cat >try.c <<EOCP
+#include <stdio.h>
 #include <sys/types.h>
 #include <signal.h>
 $signal_t blech() { exit(7); }
@@ -6163,11 +6150,16 @@ unsigned int dummy_int(p) unsigned int p; { return p; }
 unsigned short dummy_short(p) unsigned short p; { return p; }
 main()
 {
-       double f = -123.;
+       double f;
        unsigned long along;
        unsigned int aint;
        unsigned short ashort;
        int result = 0;
+       /* Frustrate gcc-2.7.2's optimizer which failed this test with
+          a direct f = -123. assignment.  gcc-2.8.0 reportedly
+          optimized the whole file away
+       */
+       sscanf("-123.", "%lf", &f);  /* f = -123.; */
 
        signal(SIGFPE, blech);
        along = (unsigned long)f;
@@ -6179,7 +6171,7 @@ main()
                result |= 1;
        if (ashort != (unsigned short)-123)
                result |= 1;
-       f = (double)0x40000000;
+       sscanf("1073741824.", "%lf", &f); /* f = (double)0x40000000; */
        f = f + f;
        along = 0;
        along = (unsigned long)f;
@@ -6198,7 +6190,7 @@ main()
        if (result)
                exit(result);
        signal(SIGFPE, blech_in_list);
-       f = 123.;
+       sscanf("123.", "%lf", &f);  /* f = 123.; */
        along = dummy_long((unsigned long)f);
        aint = dummy_int((unsigned int)f);
        ashort = dummy_short((unsigned short)f);
@@ -6337,18 +6329,6 @@ fi
 set d_crypt
 eval $setvar
 
-: get csh whereabouts
-case "$csh" in
-'csh') val="$undef" ;;
-*) val="$define" ;;
-esac
-set d_csh
-eval $setvar
-: Respect a hint or command line value for full_csh.
-case "$full_csh" in
-'') full_csh=$csh ;;
-esac
-
 : see if cuserid exists
 set cuserid d_cuserid
 eval $inlibc
@@ -6580,6 +6560,22 @@ eval $setvar
 set dup2 d_dup2
 eval $inlibc
 
+: see if endhostent exists
+set endhostent d_endhent
+eval $inlibc
+
+: see if endnetent exists
+set endnetent d_endnent
+eval $inlibc
+
+: see if endprotoent exists
+set endprotoent d_endpent
+eval $inlibc
+
+: see if endservent exists
+set endservent d_endsent
+eval $inlibc
+
 : Locate the flags for 'open()'
 echo " "
 $cat >open3.c <<'EOCP'
@@ -6865,6 +6861,10 @@ eval $inlibc
 set getnetbyname d_getnbyname
 eval $inlibc
 
+: see if getnetent exists
+set getnetent d_getnent
+eval $inlibc
+
 
 : see if getprotobyname exists
 set getprotobyname d_getpbyname
@@ -6873,6 +6873,11 @@ eval $inlibc
 : see if getprotobynumber exists
 set getprotobynumber d_getpbynumber
 eval $inlibc
+
+: see if getprotoent exists
+set getprotoent d_getpent
+eval $inlibc
+
 : see if getpgid exists
 set getpgid d_getpgid
 eval $inlibc
@@ -6897,6 +6902,11 @@ eval $inlibc
 : see if getservbyport exists
 set getservbyport d_getsbyport
 eval $inlibc
+
+: see if getservent exists
+set getservent d_getsent
+eval $inlibc
+
 : see if gettimeofday or ftime exists
 set gettimeofday d_gettimeod
 eval $inlibc
@@ -7054,6 +7064,49 @@ eval $inlibc
 set lockf d_lockf
 eval $inlibc
 
+: check for long doubles
+echo " "
+echo $n "Checking to see if your system supports long doubles...$c" >&4
+echo 'long double foo() { long double x; x = 7.0; return x; }' > try.c
+if $cc $optimize $ccflags -c try.c; then
+       val="$define"
+       echo " Yup, it does." >&4
+else
+       val="$undef"
+       echo " Nope, it doesn't." >&4
+fi
+$rm try.*
+set d_longdbl
+eval $setvar
+
+: check for length of long double
+echo " "
+
+case "${d_longdbl}${longdblsize}" in
+$define)
+       $echo $n "Checking to see how big your long doubles are...$c" >&4
+       $cat >try.c <<'EOCP'
+#include <stdio.h>
+main()
+{
+       printf("%d\n", sizeof(long double));
+}
+EOCP
+       set try
+       if eval $compile; then
+               longdblsize=`./try`
+       else
+               dflt='8'
+               echo "(I can't seem to compile the test program.  Guessing...)"
+               rp="What is the size of a long double (in bytes)?"
+               . ./myread
+               longdblsize="$ans"
+       fi
+       $echo " $longdblsize bytes."
+       ;;
+esac
+$rm -f try.c try
+
 : see if lstat exists
 set lstat d_lstat
 eval $inlibc
@@ -7094,6 +7147,10 @@ eval $inlibc
 set mkfifo d_mkfifo
 eval $inlibc
 
+: see if mkstemp exists
+set mkstemp d_mkstemp
+eval $inlibc
+
 : see if mktime exists
 set mktime d_mktime
 eval $inlibc
@@ -7269,8 +7326,8 @@ eval $setvar
 $rm -f try try.*
 
 : test whether pthreads are created in joinable -- aka undetached -- state
-if test "X$usethreads" != X; then
-       echo >&4 "Checking whether pthreads are created joinable."
+if test "X$usethreads" = "X$define"; then
+       echo $n "Checking whether pthreads are created joinable. $c" >&4 
        $cat >try.c <<'EOCP'
 #include <pthread.h>
 #include <stdio.h>
@@ -7289,11 +7346,12 @@ EOCP
        if eval $compile; then
                yyy=`./try`
                case "$yyy" in
-                       detached) echo "Nope, they aren't." ;;
-                       *) echo "Yup, they are." ;;
+                       detached) echo "Nope, they aren't." >&4 ;;
+                       *) echo "Yup, they are." >&4 ;;
                esac
        else
-               echo "(I can't execute the test program--assuming they are.)"
+               echo " "
+               echo "(I can't execute the test program--assuming they are.)" >&4
                yyy=joinable
        fi
        $rm -f try try.*
@@ -7684,6 +7742,14 @@ eval $inlibc
 set setlocale d_setlocale
 eval $inlibc
 
+: see if setnetent exists
+set setnetent d_setnent
+eval $inlibc
+
+: see if setprotoent exists
+set setprotoent d_setpent
+eval $inlibc
+
 : see if setpgid exists
 set setpgid d_setpgid
 eval $inlibc
@@ -7716,10 +7782,18 @@ eval $inlibc
 set setruid d_setruid
 eval $inlibc
 
+: see if setservent exists
+set setservent d_setsent
+eval $inlibc
+
 : see if setsid exists
 set setsid d_setsid
 eval $inlibc
 
+: see if setvbuf exists
+set setvbuf d_setvbuf
+eval $inlibc
+
 : see if sfio.h is available
 set sfio.h i_sfio
 eval $inhdr
@@ -8860,7 +8934,7 @@ $rm -f try.* .out
 echo " "
 case "$doublesize" in
 '')
-       echo "Checking to see how big your double precision numbers are..." >&4
+       $echo $n "Checking to see how big your double precision numbers are...$c" >&4
        $cat >try.c <<'EOCP'
 #include <stdio.h>
 main()
@@ -8871,6 +8945,7 @@ EOCP
        set try
        if eval $compile; then
                doublesize=`./try`
+               $echo $doublesize >&4
        else
                dflt='8'
                echo "(I can't seem to compile the test program.  Guessing...)"
@@ -8891,6 +8966,18 @@ rp="What is the type for file position used by fsetpos()?"
 . ./myread
 fpostype="$ans"
 
+: get csh whereabouts
+case "$csh" in
+'csh') val="$undef" ;;
+*) val="$define" ;;
+esac
+set d_csh
+eval $setvar
+: Respect a hint or command line value for full_csh.
+case "$full_csh" in
+'') full_csh=$csh ;;
+esac
+
 : Store the full pathname to the sed program for use in the C program
 full_sed=$sed
 
@@ -9175,7 +9262,7 @@ EOM
                esac
                ;;
        *)      : no getnetbyaddr, so pick harmless default
-               netdb_name_type='long'
+               netdb_net_type='long'
                ;;
        esac
 fi
@@ -10603,7 +10690,6 @@ awk='$awk'
 baserev='$baserev'
 bash='$bash'
 bin='$bin'
-bincompat3='$bincompat3'
 binexp='$binexp'
 bison='$bison'
 byacc='$byacc'
@@ -10643,7 +10729,6 @@ d_archlib='$d_archlib'
 d_attribut='$d_attribut'
 d_bcmp='$d_bcmp'
 d_bcopy='$d_bcopy'
-d_bincompat3='$d_bincompat3'
 d_bsd='$d_bsd'
 d_bsdgetpgrp='$d_bsdgetpgrp'
 d_bsdsetpgrp='$d_bsdsetpgrp'
@@ -10667,6 +10752,10 @@ d_dlopen='$d_dlopen'
 d_dlsymun='$d_dlsymun'
 d_dosuid='$d_dosuid'
 d_dup2='$d_dup2'
+d_endhent='$d_endhent'
+d_endnent='$d_endnent'
+d_endpent='$d_endpent'
+d_endsent='$d_endsent'
 d_eofnblk='$d_eofnblk'
 d_eunice='$d_eunice'
 d_fchmod='$d_fchmod'
@@ -10690,8 +10779,10 @@ d_gethname='$d_gethname'
 d_getlogin='$d_getlogin'
 d_getnbyaddr='$d_getnbyaddr'
 d_getnbyname='$d_getnbyname'
+d_getnent='$d_getnent'
 d_getpbyname='$d_getpbyname'
 d_getpbynumber='$d_getpbynumber'
+d_getpent='$d_getpent'
 d_getpgid='$d_getpgid'
 d_getpgrp2='$d_getpgrp2'
 d_getpgrp='$d_getpgrp'
@@ -10699,6 +10790,7 @@ d_getppid='$d_getppid'
 d_getprior='$d_getprior'
 d_getsbyname='$d_getsbyname'
 d_getsbyport='$d_getsbyport'
+d_getsent='$d_getsent'
 d_gettimeod='$d_gettimeod'
 d_gnulibc='$d_gnulibc'
 d_htonl='$d_htonl'
@@ -10709,6 +10801,7 @@ d_killpg='$d_killpg'
 d_link='$d_link'
 d_locconv='$d_locconv'
 d_lockf='$d_lockf'
+d_longdbl='$d_longdbl'
 d_lstat='$d_lstat'
 d_mblen='$d_mblen'
 d_mbstowcs='$d_mbstowcs'
@@ -10719,6 +10812,7 @@ d_memmove='$d_memmove'
 d_memset='$d_memset'
 d_mkdir='$d_mkdir'
 d_mkfifo='$d_mkfifo'
+d_mkstemp='$d_mkstemp'
 d_mktime='$d_mktime'
 d_msg='$d_msg'
 d_msgctl='$d_msgctl'
@@ -10765,6 +10859,8 @@ d_setgrps='$d_setgrps'
 d_sethent='$d_sethent'
 d_setlinebuf='$d_setlinebuf'
 d_setlocale='$d_setlocale'
+d_setnent='$d_setnent'
+d_setpent='$d_setpent'
 d_setpgid='$d_setpgid'
 d_setpgrp2='$d_setpgrp2'
 d_setpgrp='$d_setpgrp'
@@ -10775,7 +10871,9 @@ d_setresuid='$d_setresuid'
 d_setreuid='$d_setreuid'
 d_setrgid='$d_setrgid'
 d_setruid='$d_setruid'
+d_setsent='$d_setsent'
 d_setsid='$d_setsid'
+d_setvbuf='$d_setvbuf'
 d_sfio='$d_sfio'
 d_shm='$d_shm'
 d_shmat='$d_shmat'
@@ -10949,6 +11047,7 @@ ln='$ln'
 lns='$lns'
 locincpth='$locincpth'
 loclibpth='$loclibpth'
+longdblsize='$longdblsize'
 longsize='$longsize'
 lp='$lp'
 lpr='$lpr'
index fe7e630..b0840a9 100644 (file)
@@ -62,10 +62,6 @@ bin (bin.U):
        is most often a local directory such as /usr/local/bin. Programs using
        this variable must be prepared to deal with ~name substitution.
 
-bincompat3 (bincompat3.U):
-       This variable contains y if Perl 5.004 should be binary-compatible
-       with Perl 5.003.
-
 binexp (bin.U):
        This is the same as the bin variable, but is filename expanded at
        configuration time, for use in your makefiles.
@@ -196,12 +192,6 @@ d_bcopy (d_bcopy.U):
        This variable conditionally defines the HAS_BCOPY symbol if
        the bcopy() routine is available to copy strings.
 
-d_bincompat3 (bincompat3.U):
-       This variable conditionally defines BINCOMPAT3 so that embed.h
-       can take special action if Perl 5.004 should be binary-compatible
-       with Perl 5.003.  This is impossible for 5.004_50 and later, so
-       it is always $undef for those versions.
-
 d_bsd (Guess.U):
        This symbol conditionally defines the symbol BSD when running on a
        BSD system.
@@ -299,6 +289,22 @@ d_dup2 (d_dup2.U):
        This variable conditionally defines HAS_DUP2 if dup2() is
        available to duplicate file descriptors.
 
+d_endhent (d_endhent.U):
+       This variable conditionally defines HAS_ENDHOSTENT if endhostent() is
+       available to close whatever was being used for host queries.
+
+d_endnent (d_endnent.U):
+       This variable conditionally defines HAS_ENDNETENT if endnetent() is
+       available to close whatever was being used for network queries.
+
+d_endpent (d_endpent.U):
+       This variable conditionally defines HAS_ENDPROTOENT if endprotoent() is
+       available to close whatever was being used for protocol queries.
+
+d_endsent (d_endsent.U):
+       This variable conditionally defines HAS_ENDSERVENT if endservent() is
+       available to close whatever was being used for service queries.
+
 d_eofnblk (nblock_io.U):
        This variable conditionally defines EOF_NONBLOCK if EOF can be seen
        when reading from a non-blocking I/O source.
@@ -402,6 +408,10 @@ d_getnbyname (d_getnbynm.U):
        indicates to the C program that the getnetbyname() routine is available
        to look up networks by their names.
 
+d_getnent (d_getnent.U):
+       This variable conditionally defines HAS_GETNETENT if getnetent() is
+       available to look up network names in some data base or another.
+
 d_getpbyname (d_getprotby.U):
        This variable conditionally defines the HAS_GETPROTOBYNAME 
        symbol, which indicates to the C program that the 
@@ -414,6 +424,10 @@ d_getpbynumber (d_getprotby.U):
        getprotobynumber() routine is available to look up protocols
        by their number.
 
+d_getpent (d_getpent.U):
+       This variable conditionally defines HAS_GETPROTOENT if getprotoent() is
+       available to look up protocols in some data base or another.
+
 d_getpgid (d_getpgid.U):
        This variable conditionally defines the HAS_GETPGID symbol, which
        indicates to the C program that the getpgid(pid) function
@@ -449,6 +463,10 @@ d_getsbyport (d_getsrvby.U):
        getservbyport() routine is available to look up services
        by their port.
 
+d_getsent (d_getsent.U):
+       This variable conditionally defines HAS_GETSERVENT if getservent() is
+       available to look up network services in some data base or another.
+
 d_gettimeod (d_ftime.U):
        This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which
        indicates that the gettimeofday() system call exists (to obtain a
@@ -491,6 +509,10 @@ d_lockf (d_lockf.U):
        This variable conditionally defines HAS_LOCKF if lockf() is
        available to do file locking.
 
+d_longdbl (d_longdbl.U):
+       This variable conditionally defines HAS_LONG_DOUBLE if 
+       the long double type is supported.
+
 d_lstat (d_lstat.U):
        This variable conditionally defines HAS_LSTAT if lstat() is
        available to do file stats on symbolic links.
@@ -539,6 +561,11 @@ d_mkfifo (d_mkfifo.U):
        This variable conditionally defines the HAS_MKFIFO symbol, which
        indicates to the C program that the mkfifo() routine is available.
 
+d_mkstemp (d_mkstemp.U):
+       This variable conditionally defines the HAS_MKSTEMP symbol, which
+       indicates to the C program that the mkstemp() routine is available
+       to create and open a unique tempporary file.
+
 d_mktime (d_mktime.U):
        This variable conditionally defines the HAS_MKTIME symbol, which
        indicates to the C program that the mktime() routine is available.
@@ -746,6 +773,14 @@ d_setlocale (d_setlocale.U):
        This variable conditionally defines HAS_SETLOCALE if setlocale() is
        available to handle locale-specific ctype implementations.
 
+d_setnent (d_setnent.U):
+       This variable conditionally defines HAS_SETNETENT if setnetent() is
+       available.
+
+d_setpent (d_setpent.U):
+       This variable conditionally defines HAS_SETPROTOENT if setprotoent() is
+       available.
+
 d_setpgid (d_setpgid.U):
        This variable conditionally defines the HAS_SETPGID symbol if the
        setpgid(pid, gpid) function is available to set process group ID.
@@ -793,10 +828,19 @@ d_setruid (d_setruid.U):
        indicates to the C program that the setruid() routine is available
        to change the real uid of the current program.
 
+d_setsent (d_setsent.U):
+       This variable conditionally defines HAS_SETSERVENT if setservent() is
+       available.
+
 d_setsid (d_setsid.U):
        This variable conditionally defines HAS_SETSID if setsid() is
        available to set the process group ID.
 
+d_setvbuf (d_setvbuf.U):
+       This variable conditionally defines the HAS_SETVBUF symbol, which
+       indicates to the C program that the setvbuf() routine is available
+       to change buffering on an open stdio stream.
+
 d_sfio (d_sfio.U):
        This variable conditionally defines the USE_SFIO symbol,
        and indicates whether sfio is available (and should be used).
@@ -1498,6 +1542,11 @@ loclibpth (libpth.U):
        prepended to libpth, and is intended to be easily set from the
        command line.
 
+longdblsize (d_longdbl.U):
+       This variable contains the value of the LONG_DOUBLESIZE symbol, which
+       indicates to the C program how many bytes there are in a long double,
+       if this system supports long doubles.
+
 longsize (intsize.U):
        This variable contains the value of the LONGSIZE symbol, which
        indicates to the C program how many bytes there are in a long.
index 4fb150e..b709411 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Tue Mar  3 11:39:44 EST 1998
+# Configuration time: Mon Mar  9 14:20:14 EST 1998
 # Configured by     : doughera
 # Target system     : linux fractal 2.0.33 #1 tue feb 3 10:11:46 est 1998 i686 unknown 
 
@@ -30,21 +30,20 @@ afs='false'
 alignbytes='4'
 aphostname=''
 ar='ar'
-archlib='/opt/perl/lib/i686-linux-thread/5.00461'
-archlibexp='/opt/perl/lib/i686-linux-thread/5.00461'
+archlib='/opt/perl/lib/i686-linux-thread/5.00462'
+archlibexp='/opt/perl/lib/i686-linux-thread/5.00462'
 archname='i686-linux-thread'
 archobjs=''
 awk='awk'
 baserev='5.0'
 bash=''
 bin='/opt/perl/bin'
-bincompat3=''
 binexp='/opt/perl/bin'
 bison=''
 byacc='byacc'
 byteorder='1234'
 c=''
-castflags='1'
+castflags='0'
 cat='cat'
 cc='cc'
 cccdlflags='-fpic'
@@ -52,7 +51,7 @@ ccdlflags='-rdynamic'
 ccflags='-D_REENTRANT -Dbool=char -DHAS_BOOL -I/usr/local/include'
 cf_by='doughera'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Tue Mar  3 11:39:44 EST 1998'
+cf_time='Mon Mar  9 14:20:14 EST 1998'
 chgrp=''
 chmod=''
 chown=''
@@ -78,13 +77,12 @@ d_archlib='define'
 d_attribut='define'
 d_bcmp='define'
 d_bcopy='define'
-d_bincompat3='undef'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
 d_bzero='define'
-d_casti32='define'
-d_castneg='undef'
+d_casti32='undef'
+d_castneg='define'
 d_charvspr='undef'
 d_chown='define'
 d_chroot='define'
@@ -102,6 +100,10 @@ d_dlopen='define'
 d_dlsymun='undef'
 d_dosuid='undef'
 d_dup2='define'
+d_endhent='define'
+d_endnent='define'
+d_endpent='define'
+d_endsent='define'
 d_eofnblk='define'
 d_eunice='undef'
 d_fchmod='define'
@@ -125,8 +127,10 @@ d_gethname='undef'
 d_getlogin='define'
 d_getnbyaddr='define'
 d_getnbyname='define'
+d_getnent='define'
 d_getpbyname='define'
 d_getpbynumber='define'
+d_getpent='define'
 d_getpgid='define'
 d_getpgrp2='undef'
 d_getpgrp='define'
@@ -134,6 +138,7 @@ d_getppid='define'
 d_getprior='define'
 d_getsbyname='define'
 d_getsbyport='define'
+d_getsent='define'
 d_gettimeod='define'
 d_gnulibc='define'
 d_htonl='define'
@@ -144,6 +149,7 @@ d_killpg='define'
 d_link='define'
 d_locconv='define'
 d_lockf='define'
+d_longdbl='define'
 d_lstat='define'
 d_mblen='define'
 d_mbstowcs='define'
@@ -154,6 +160,7 @@ d_memmove='define'
 d_memset='define'
 d_mkdir='define'
 d_mkfifo='define'
+d_mkstemp='define'
 d_mktime='define'
 d_msg='define'
 d_msgctl='define'
@@ -200,6 +207,8 @@ d_setgrps='define'
 d_sethent='define'
 d_setlinebuf='define'
 d_setlocale='define'
+d_setnent='define'
+d_setpent='define'
 d_setpgid='define'
 d_setpgrp2='undef'
 d_setpgrp='define'
@@ -210,7 +219,9 @@ d_setresuid='undef'
 d_setreuid='define'
 d_setrgid='undef'
 d_setruid='undef'
+d_setsent='define'
 d_setsid='define'
+d_setvbuf='define'
 d_sfio='undef'
 d_shm='define'
 d_shmat='define'
@@ -355,7 +366,7 @@ i_varhdr='stdarg.h'
 i_vfork='undef'
 incpath=''
 inews=''
-installarchlib='/opt/perl/lib/i686-linux-thread/5.00461'
+installarchlib='/opt/perl/lib/i686-linux-thread/5.00462'
 installbin='/opt/perl/bin'
 installman1dir='/opt/perl/man/man1'
 installman3dir='/opt/perl/man/man3'
@@ -384,6 +395,7 @@ ln='ln'
 lns='/bin/ln -s'
 locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
 loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='12'
 longsize='4'
 lp=''
 lpr=''
@@ -499,7 +511,7 @@ stdio_filbuf=''
 stdio_ptr='((fp)->_IO_read_ptr)'
 strings='/usr/include/string.h'
 submit=''
-subversion='61'
+subversion='62'
 sysman='/usr/man/man1'
 tail=''
 tar=''
@@ -532,5 +544,5 @@ xlibpth='/usr/lib/386 /lib/386'
 zcat=''
 zip='zip'
 PATCHLEVEL=4
-SUBVERSION=61
+SUBVERSION=62
 CONFIG=true
index 8079a38..52acfdc 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Tue Mar  3 11:39:44 EST 1998
+ * Configuration time: Mon Mar  9 14:20:14 EST 1998
  * Configured by     : doughera
  * Target system     : linux fractal 2.0.33 #1 tue feb 3 10:11:46 est 1998 i686 unknown 
  */
  *     This symbol is defined if the C compiler can cast negative
  *     or large floating point numbers to 32-bit ints.
  */
-#define        CASTI32         /**/
+/*#define      CASTI32         / **/
 
 /* CASTNEGFLOAT:
  *     This symbol is defined if the C compiler can cast negative
  *             2 = couldn't cast >= 0x80000000
  *             4 = couldn't cast in argument expression list
  */
-/*#define      CASTNEGFLOAT            / **/
-#define CASTFLAGS 1            /**/
+#define        CASTNEGFLOAT            /**/
+#define CASTFLAGS 0            /**/
 
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "/opt/perl/lib/i686-linux-thread/5.00461"              /**/
-#define ARCHLIB_EXP "/opt/perl/lib/i686-linux-thread/5.00461"          /**/
+#define ARCHLIB "/opt/perl/lib/i686-linux-thread/5.00462"              /**/
+#define ARCHLIB_EXP "/opt/perl/lib/i686-linux-thread/5.00462"          /**/
 
 /* CAT2:
  *     This macro catenates 2 tokens together.
 #endif
 
 /* CSH:
- *     This symbol, if defined, indicates that the C-shell exists.
- *     If defined, contains the full pathname of csh.
+ *     This symbol, if defined, contains the full pathname of csh.
  */
-#define CSH "/bin/csh"         /**/
+#define HAS_CSH                /**/
+#ifdef HAS_CSH
+#define CSH "/bin/csh" /**/
+#endif
+
+/* HAS_ENDHOSTENT:
+ *     This symbol, if defined, indicates that the endhostent() routine is
+ *     available to close whatever was being used for host queries.
+ */
+#define HAS_ENDHOSTENT         /**/
+
+/* HAS_ENDNETENT:
+ *     This symbol, if defined, indicates that the endnetent() routine is
+ *     available to close whatever was being used for network queries.
+ */
+#define HAS_ENDNETENT          /**/
+
+/* HAS_ENDPROTOENT:
+ *     This symbol, if defined, indicates that the endprotoent() routine is
+ *     available to close whatever was being used for protocol queries.
+ */
+#define HAS_ENDPROTOENT                /**/
+
+/* HAS_ENDSERVENT:
+ *     This symbol, if defined, indicates that the endservent() routine is
+ *     available to close whatever was being used for service queries.
+ */
+#define HAS_ENDSERVENT         /**/
 
 /* HAS_GETHOSTBYADDR:
  *     This symbol, if defined, indicates that the gethostbyaddr() routine is
  */
 #define HAS_GETNETBYNAME               /**/
 
+/* HAS_GETNETENT:
+ *     This symbol, if defined, indicates that the getnetent() routine is
+ *     available to look up network names in some data base or another.
+ */
+#define HAS_GETNETENT          /**/
+
+/* HAS_GETPROTOENT:
+ *     This symbol, if defined, indicates that the getprotoent() routine is
+ *     available to look up protocols in some data base or another.
+ */
+#define HAS_GETPROTOENT                /**/
+
 /* HAS_GETPROTOBYNAME:
  *     This symbol, if defined, indicates that the getprotobyname()
  *     routine is available to look up protocols by their name.
 #define HAS_GETPROTOBYNAME             /**/
 #define HAS_GETPROTOBYNUMBER           /**/
 
+/* HAS_GETSERVENT:
+ *     This symbol, if defined, indicates that the getservent() routine is
+ *     available to look up network services in some data base or another.
+ */
+#define HAS_GETSERVENT         /**/
+
 /* HAS_GETSERVBYNAME:
  *     This symbol, if defined, indicates that the getservbyname()
  *     routine is available to look up services by their name.
 #define HAS_GETSERVBYNAME              /**/
 #define HAS_GETSERVBYPORT              /**/
 
+/* HAS_LONG_DOUBLE:
+ *     This symbol will be defined if the C compiler supports long
+ *     doubles.
+ */
+/* LONG_DOUBLESIZE:
+ *     This symbol contains the size of a long double, so that the 
+ *     C preprocessor can make decisions based on it.  It is only
+ *     defined if the system supports long doubles.
+ */
+#define HAS_LONG_DOUBLE                /**/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE 12             /**/
+#endif
+
+/* HAS_MKSTEMP:
+ *     This symbol, if defined, indicates that the mkstemp routine is
+ *     available to create and open a unique temporary file.
+ */
+#define HAS_MKSTEMP            /**/
+
 /* HAS_SETGROUPS:
  *     This symbol, if defined, indicates that the setgroups() routine is
  *     available to set the list of process groups.  If unavailable, multiple
  */
 #define HAS_SETHOSTENT         /**/
 
+/* HAS_SETNETENT:
+ *     This symbol, if defined, indicates that the setnetent() routine is
+ *     available.
+ */
+#define HAS_SETNETENT          /**/
+
+/* HAS_SETPROTOENT:
+ *     This symbol, if defined, indicates that the setprotoent() routine is
+ *     available.
+ */
+#define HAS_SETPROTOENT                /**/
+
+/* HAS_SETSERVENT:
+ *     This symbol, if defined, indicates that the setservent() routine is
+ *     available.
+ */
+#define HAS_SETSERVENT         /**/
+
+/* HAS_SETVBUF:
+ *     This symbol, if defined, indicates that the setvbuf routine is
+ *     available to change buffering on an open stdio stream.
+ *     to a line-buffered mode.
+ */
+#define HAS_SETVBUF            /**/
+
 /* Signal_t:
  *     This symbol's value is either "void" or "int", corresponding to the
  *     appropriate return type of a signal handler.  Thus, you can declare
index 138e08a..77750cd 100644 (file)
@@ -1612,10 +1612,36 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #endif
 
 /* CSH:
- *     This symbol, if defined, indicates that the C-shell exists.
- *     If defined, contains the full pathname of csh.
+ *     This symbol, if defined, contains the full pathname of csh.
  */
-#$d_csh CSH "$full_csh"                /**/
+#$d_csh HAS_CSH                /**/
+#ifdef HAS_CSH
+#define CSH "$full_csh"        /**/
+#endif
+
+/* HAS_ENDHOSTENT:
+ *     This symbol, if defined, indicates that the endhostent() routine is
+ *     available to close whatever was being used for host queries.
+ */
+#$d_endhent HAS_ENDHOSTENT             /**/
+
+/* HAS_ENDNETENT:
+ *     This symbol, if defined, indicates that the endnetent() routine is
+ *     available to close whatever was being used for network queries.
+ */
+#$d_endnent HAS_ENDNETENT              /**/
+
+/* HAS_ENDPROTOENT:
+ *     This symbol, if defined, indicates that the endprotoent() routine is
+ *     available to close whatever was being used for protocol queries.
+ */
+#$d_endpent HAS_ENDPROTOENT            /**/
+
+/* HAS_ENDSERVENT:
+ *     This symbol, if defined, indicates that the endservent() routine is
+ *     available to close whatever was being used for service queries.
+ */
+#$d_endsent HAS_ENDSERVENT             /**/
 
 /* HAS_GETHOSTBYADDR:
  *     This symbol, if defined, indicates that the gethostbyaddr() routine is
@@ -1647,6 +1673,18 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_getnbyname HAS_GETNETBYNAME                /**/
 
+/* HAS_GETNETENT:
+ *     This symbol, if defined, indicates that the getnetent() routine is
+ *     available to look up network names in some data base or another.
+ */
+#$d_getnent HAS_GETNETENT              /**/
+
+/* HAS_GETPROTOENT:
+ *     This symbol, if defined, indicates that the getprotoent() routine is
+ *     available to look up protocols in some data base or another.
+ */
+#$d_getpent HAS_GETPROTOENT            /**/
+
 /* HAS_GETPROTOBYNAME:
  *     This symbol, if defined, indicates that the getprotobyname()
  *     routine is available to look up protocols by their name.
@@ -1658,6 +1696,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$d_getpbyname HAS_GETPROTOBYNAME              /**/
 #$d_getpbynumber HAS_GETPROTOBYNUMBER          /**/
 
+/* HAS_GETSERVENT:
+ *     This symbol, if defined, indicates that the getservent() routine is
+ *     available to look up network services in some data base or another.
+ */
+#$d_getsent HAS_GETSERVENT             /**/
+
 /* HAS_GETSERVBYNAME:
  *     This symbol, if defined, indicates that the getservbyname()
  *     routine is available to look up services by their name.
@@ -1669,6 +1713,26 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$d_getsbyname HAS_GETSERVBYNAME               /**/
 #$d_getsbyport HAS_GETSERVBYPORT               /**/
 
+/* HAS_LONG_DOUBLE:
+ *     This symbol will be defined if the C compiler supports long
+ *     doubles.
+ */
+/* LONG_DOUBLESIZE:
+ *     This symbol contains the size of a long double, so that the 
+ *     C preprocessor can make decisions based on it.  It is only
+ *     defined if the system supports long doubles.
+ */
+#$d_longdbl HAS_LONG_DOUBLE            /**/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE $longdblsize           /**/
+#endif
+
+/* HAS_MKSTEMP:
+ *     This symbol, if defined, indicates that the mkstemp routine is
+ *     available to create and open a unique temporary file.
+ */
+#$d_mkstemp HAS_MKSTEMP                /**/
+
 /* HAS_SETGROUPS:
  *     This symbol, if defined, indicates that the setgroups() routine is
  *     available to set the list of process groups.  If unavailable, multiple
@@ -1682,6 +1746,31 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_sethent HAS_SETHOSTENT             /**/
 
+/* HAS_SETNETENT:
+ *     This symbol, if defined, indicates that the setnetent() routine is
+ *     available.
+ */
+#$d_setnent HAS_SETNETENT              /**/
+
+/* HAS_SETPROTOENT:
+ *     This symbol, if defined, indicates that the setprotoent() routine is
+ *     available.
+ */
+#$d_setpent HAS_SETPROTOENT            /**/
+
+/* HAS_SETSERVENT:
+ *     This symbol, if defined, indicates that the setservent() routine is
+ *     available.
+ */
+#$d_setsent HAS_SETSERVENT             /**/
+
+/* HAS_SETVBUF:
+ *     This symbol, if defined, indicates that the setvbuf routine is
+ *     available to change buffering on an open stdio stream.
+ *     to a line-buffered mode.
+ */
+#$d_setvbuf HAS_SETVBUF                /**/
+
 /* Signal_t:
  *     This symbol's value is either "void" or "int", corresponding to the
  *     appropriate return type of a signal handler.  Thus, you can declare
index b57e560..53d1930 100644 (file)
@@ -3,7 +3,7 @@
 #include "XSUB.h"
 
 #ifdef NULL
-#undef NULL
+#undef NULL  /* XXX Why? */
 #endif
 #ifdef I_DBM
 #  include <dbm.h>
@@ -46,6 +46,10 @@ static int dbmrefcnt;
 
 MODULE = ODBM_File     PACKAGE = ODBM_File     PREFIX = odbm_
 
+#ifndef NULL
+#  define NULL 0
+#endif
+
 ODBM_File
 odbm_TIEHASH(dbtype, filename, flags, mode)
        char *          dbtype
diff --git a/handy.h b/handy.h
index 3daf767..b9d3462 100644 (file)
--- a/handy.h
+++ b/handy.h
 
    Further, we need to know about PTRSIZE == sizeof(void *) and
    DOUBLESIZE == sizeof(double) if we really want to try to handle
-   32/64-bit combinations.
+   32/64-bit combinations.  Finally, we might also need to know
+   HAS_LONG_DOUBLE and LONG_DOUBLESIZE.
 
    For the moment, these are only mentioned here so metaconfig will
    construct Configure to figure out the various sizes.
index bc26590..a29466e 100644 (file)
@@ -71,7 +71,7 @@ lddlflags='-H512 -T512 -bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).
 ;;
 esac
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     ccflags="-DNEED_PTHREAD_INIT $ccflags"
     case "$cc" in
     xlc_r | cc_r)
index ae49f50..5055302 100644 (file)
@@ -180,7 +180,7 @@ case "$optimize" in
        ;;
 esac
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     # Threads interfaces changed with V4.0.
     case "$_DEC_uname_r" in
     *[123].*)  libswanted="$libswanted pthreads mach exc c_r"
index 9878cc3..1b4a845 100644 (file)
@@ -66,7 +66,7 @@ esac
 exec tr.exe "\$@"
 EOSC
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     set `echo X "$libswanted "| sed -e 's/ c / gthreads c /'`
     shift
     libswanted="$*"
index 5e89d56..f1bbd60 100644 (file)
 # Additional 2.2 defines from
 # Mark Murray <mark@grondar.za>
 # Date: Wed, 6 Nov 1996 09:44:58 +0200 (MET)
-# 
+#
+# Modified to ensure we replace -lc with -lc_r, and
+# to put in place-holders for various specific hints.
+# Andy Dougherty <doughera@lafcol.lafayette.edu>
+# Date: Tue Mar 10 16:07:00 EST 1998
+#
 # The two flags "-fpic -DPIC" are used to indicate a
 # will-be-shared object.  Configure will guess the -fpic, (and the
 # -DPIC is not used by perl proper) but the full define is included to 
@@ -104,9 +109,14 @@ problem.  Try
 
 EOM
 
-if [ "X$usethreads" != "X" ]; then
+# XXX EXPERIMENTAL  A.D.  03/09/1998
+# XXX This script UU/usethreads.cbu will get 'called-back' by Configure
+# XXX after it has prompted the user for whether to use threads.
+cat > UU/usethreads.cbu <<'EOSH'
+case "$usethreads" in
+$define)
     if [ ! -r /usr/lib/libc_r.a ]; then
-        cat <<'EOM'
+        cat <<'EOM' >&4
 
 The re-entrant C library /usr/lib/libc_r.a does not exist; cannot build
 threaded Perl.  Consider upgrading to a newer FreeBSD snapshot or release:
@@ -115,5 +125,23 @@ at least the FreeBSD 3.0-971225-SNAP is known to have the libc_r.a.
 EOM
         exit 1
     fi
-    libswanted="$libswanted c_r"
-fi
+    # Patches to libc_r may be required.
+    # Print out a note about them here.
+
+    # These checks by Andy Dougherty <doughera@lafcol.lafayette.edu>
+    # Please update or change them as you learn more!
+    # -lc_r must REPLACE -lc.  AD  03/10/1998
+    set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
+    shift
+    libswanted="$*"
+    # Configure will probably pick the wrong libc to use for nm scan.
+    # The safest quick-fix is just to not use nm at all.
+    usenm=false
+    # Is vfork buggy in 3.0?
+    case "$osvers" in
+       3.0) usevfork=false ;;
+    esac
+    ;;
+esac
+EOSH
+# XXX EXPERIMENTAL  --end of call-back
index 3d8202a..ed3c112 100644 (file)
@@ -117,7 +117,7 @@ libswanted="$*"
 # makes IRIX 6.2 cc to emit bad code.
 pp_ctl_cflags='optimize=-O'
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     if test ! -f /usr/include/pthread.h -o ! -f /usr/lib/libpthread.so; then
        uname_r=`uname -r`
        case "`uname -r`" in
index e76890d..b0a3994 100644 (file)
@@ -42,7 +42,7 @@ libswanted="$*"
 # shift
 # libswanted="$*"
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     echo >&4 "IRIX 6.0 does not have POSIX threads."
     echo >&4 "You should upgrade to at least IRIX 6.3."
     echo >&4 "Cannot continue, aborting."
index 91c3ef8..1c54f77 100644 (file)
@@ -42,7 +42,7 @@ libswanted="$*"
 # shift
 # libswanted="$*"
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     echo >&4 "IRIX 6.1 does not have POSIX threads."
     echo >&4 "You should upgrade to at least IRIX 6.3."
     echo >&4 "Cannot continue, aborting."
index 7cda0bf..f11eeb3 100644 (file)
@@ -245,7 +245,7 @@ case "X$optimize" in
        ;;
 esac
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     ccflags="-Zmt $ccflags"
     cppflags="-Zmt $cppflags"  # Do we really need to set this?
     aout_ccflags="-DUSE_THREADS $aout_ccflags"
index 7f7a856..047e4cf 100644 (file)
@@ -230,7 +230,7 @@ rm -f core
 # XXX
 EOSH
 
-if [ "X$usethreads" != "X" ]; then
+if [ "X$usethreads" = "X$define" ]; then
     ccflags="-D_REENTRANT $ccflags"
     # -lpthread needs to come before -lc but after other libraries such
     # as -lgdbm and such like. We assume here that -lc is present in
index 44bbe3a..aec072e 100644 (file)
@@ -46,5 +46,5 @@ static        char    *local_patches[] = {
 #  define      LOCAL_PATCH_COUNT       \
        (sizeof(local_patches)/sizeof(local_patches[0])-2)
 
-#define __PATCHLEVEL_H_INCLUDED__
+#  define __PATCHLEVEL_H_INCLUDED__
 #endif
diff --git a/perl.c b/perl.c
index 6d222ce..4783053 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -559,6 +559,7 @@ perl_parse(PerlInterpreter *sv_interp, void (*xsinit) (void), int argc, char **a
     char *validarg = "";
     I32 oldscope;
     AV* comppadlist;
+    int e_tmpfd = -1;
     dJMPENV;
     int ret;
 
@@ -679,12 +680,20 @@ setuid perl scripts securely.\n");
                croak("No -e allowed in setuid scripts");
            if (!e_fp) {
                e_tmpname = savepv(TMPPATH);
+#ifdef HAS_MKSTEMP
+               e_tmpfd = PerlLIO_mkstemp(e_tmpname);
+
+               if (e_tmpfd < 0)
+                   croak("Can't mkstemp() temporary file \"%s\"", e_tmpname);
+               e_fp = PerlIO_fdopen(e_tmpfd,"w");
+#else /* use mktemp() */
                (void)PerlLIO_mktemp(e_tmpname);
                if (!*e_tmpname)
-                   croak("Can't mktemp()");
+                   croak("Can't mktemp() temporary file \"%s\"", e_tmpname);
                e_fp = PerlIO_open(e_tmpname,"w");
-               if (!e_fp)
-                   croak("Cannot open temporary file");
+#endif /* HAS_MKSTEMP */
+               if (!e_fp)
+                   croak("Cannot open temporary file \"%s\"", e_tmpname);
            }
            if (*++s)
                PerlIO_puts(e_fp,s);
@@ -916,6 +925,7 @@ print \"  \\@INC:\\n    @INC\\n\";");
        (void)UNLINK(e_tmpname);
        Safefree(e_tmpname);
        e_tmpname = Nullch;
+       e_tmpfd = -1;
     }
 
     /* now that script is parsed, we can modify record separator */
diff --git a/perl.h b/perl.h
index 0f9b22d..532847b 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -2042,7 +2042,7 @@ enum {
 
 #endif /* !USE_LOCALE_NUMERIC */
 
-#if !defined(PERLIO_IS_STDIO) && defined(HAS_ATTRIBUTE)
+#if !defined(PERLIO_IS_STDIO) && defined(HASATTRIBUTE)
 /* 
  * Now we have __attribute__ out of the way 
  * Remap printf 
index c756aaf..4c65ce3 100644 (file)
--- a/perllio.h
+++ b/perllio.h
@@ -14,6 +14,7 @@
 #define PerlLIO_lseek(fd, offset, mode) lseek((fd), (offset), (mode))
 #define PerlLIO_lstat(name, buf) lstat((name), (buf))
 #define PerlLIO_mktemp(file) mktemp((file))
+#define PerlLIO_mkstemp(file) mkstemp((file))
 #define PerlLIO_open(file, flag) open((file), (flag))
 #define PerlLIO_open3(file, flag, perm) open((file), (flag), (perm))
 #define PerlLIO_read(fd, buf, count) read((fd), (buf), (count))
index 9f16761..25f3b68 100644 (file)
@@ -693,10 +693,17 @@ to exist.
 
 (F) List assignment to %ENV is not supported on some systems, notably VMS.
 
-=item Can't mktemp()
+=item Can't mkstemp() temporary file %s
 
-(F) The mktemp() routine failed for some reason while trying to process
-a B<-e> switch.  Maybe your /tmp partition is full, or clobbered.
+(F) The mkstemp() routine failed for some reason while trying to
+process a B<-e> switch.  Maybe your temporary file partition
+is full, or over-protected, or clobbered.
+
+=item Can't mktemp() temporary file %s
+
+(F) The mktemp() routine failed for some reason while trying to
+process a B<-e> switch.  Maybe your temporary file partition
+is full, or over-protected, or clobbered.
 
 =item Can't modify %s in %s
 
@@ -899,10 +906,11 @@ Perhaps you need to copy the value to a temporary, and repeat that.
 (F) A string of a form C<CORE::word> was given to prototype(), but
 there is no builtin with the name C<word>.
 
-=item Cannot open temporary file
+=item Cannot open temporary file %s
 
-(F) The create routine failed for some reason while trying to process
-a B<-e> switch.  Maybe your /tmp partition is full, or clobbered.
+(F) A temporary file could not created for some reason while trying to
+process a B<-e> switch.  Maybe your temporary file partition is full,
+or over-protected, or clobbered.
 
 =item Cannot resolve method `%s' overloading `%s' in package `%s'
 
index 8d8be18..57e4099 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -3795,11 +3795,23 @@ PP(pp_gprotoent)
     struct protoent *pent;
 
     if (which == OP_GPBYNAME)
+#ifdef HAS_GETPROTOBYNAME
        pent = PerlSock_getprotobyname(POPp);
+#else
+       DIE(no_sock_func, "getprotobyname");
+#endif
     else if (which == OP_GPBYNUMBER)
+#ifdef HAS_GETPROTOBYNUMBER
        pent = PerlSock_getprotobynumber(POPi);
+#else
+    DIE(no_sock_func, "getprotobynumber");
+#endif
     else
+#ifdef HAS_GETPROTOENT
        pent = PerlSock_getprotoent();
+#else
+       DIE(no_sock_func, "getprotoent");
+#endif
 
     EXTEND(SP, 3);
     if (GIMME != G_ARRAY) {
@@ -3885,7 +3897,11 @@ PP(pp_gservent)
        sent = PerlSock_getservbyport(port, proto);
     }
     else
+#ifdef HAS_GETSERVENT
        sent = PerlSock_getservent();
+#else
+       DIE(no_sock_func, "getservent");
+#endif
 
     EXTEND(SP, 4);
     if (GIMME != G_ARRAY) {
index 0320012..3e6f5cd 100644 (file)
  */
 #define Netdb_net_t            long
 
-/* HAS_GETHBADD:
+/* HAS_GETHOSTBYADDR:
  *     This symbol, if defined, indicates that the gethostbyaddr routine is
  *     available to lookup host names by their IP addresses.
  */
-#define HAS_GETHBADD           /**/      /* config-skip */
+#define HAS_GETHBYADDR         /**/      /* config-skip */
 
 /* Gethbadd_addr_t:
  *     This symbol holds the type used for the 1st argument
 #define Gethbadd_alen_t                int     /**/  /* config-skip */
 
 #ifdef DECCRTL_SOCKETS
-/* HAS_GETNBADD:
+/* HAS_GETNETBYADDR:
  *     This symbol, if defined, indicates that the getnetbyaddr routine is
  *     available to lookup networks by their IP addresses.
  */
-#define HAS_GETNBADD           /**/      /* config-skip */
+#define HAS_GETNETBYADDR               /**/      /* config-skip */
 
 /* Gethbadd_net_t:
  *     This symbol holds the type used for the 1st argument
  */
 #define Getnbadd_net_t         long    /**/ /* config-skip */
 #else
-#undef HAS_GETNBADD            /**/          /* config-skip */
+#undef HAS_GETNETBYADDR                /**/          /* config-skip */
 #undef Getnbadd_net_t          long    /**/ /* config-skip */
 #endif
 
 #undef I_NETDB /**/                  /* config-skip */
 #undef I_NET_ERRNO             /**/          /* config-skip */
 #undef HAS_SELECT      /**/              /* config-skip */
-#undef HAS_GETHBADD            /**/          /* config-skip */
-#undef HAS_GETNBADD            /**/          /* config-skip */
+#undef HAS_GETHOSTBYADDR               /**/          /* config-skip */
+#undef HAS_GETNETBYADDR                /**/          /* config-skip */
 
 #endif /* !VMS_DO_SOCKETS */