Miscellaneus AIX fixes + SOCKS support.
Jarkko Hietaniemi [Sun, 4 Jul 1999 23:26:01 +0000 (23:26 +0000)]
p4raw-id: //depot/cfgperl@3578

Configure
Makefile.SH
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
doio.c
ext/Socket/Socket.xs
hints/aix.sh
pp_sys.c

index 174abe1..11b119b 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 Mon Jul  5 01:17:41 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Mon Jul  5 02:09:55 EET DST 1999 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -628,6 +628,7 @@ d_pwquota=''
 i_pwd=''
 i_sfio=''
 i_shadow=''
+i_socks=''
 i_stddef=''
 i_stdlib=''
 i_string=''
@@ -12417,6 +12418,10 @@ val=$val3; set i_termios; eval $setvar
 set shadow.h i_shadow
 eval $inhdr
 
+: see if this is a socks.h system
+set socks.h i_socks
+eval $inhdr
+
 : see if stdarg is available
 echo " "
 if $test `./findhdr stdarg.h`; then
@@ -13330,6 +13335,7 @@ i_rpcsvcdbm='$i_rpcsvcdbm'
 i_sfio='$i_sfio'
 i_sgtty='$i_sgtty'
 i_shadow='$i_shadow'
+i_socks='$i_socks'
 i_stdarg='$i_stdarg'
 i_stddef='$i_stddef'
 i_stdlib='$i_stdlib'
index 0c02a43..d4c5197 100644 (file)
@@ -70,6 +70,7 @@ true)
                esac
                aixinstdir=`pwd | sed 's/\/UU$//'`
                linklibperl="-L $archlibexp/CORE -L $aixinstdir -lperl"
+               ldlibpth="LIBPATH=`pwd`:${LIBPATH}"
                ;;
        hpux*)
                linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s -Wl,+b$archlibexp/CORE -lperl"
index 8256ea8..c7457b9 100644 (file)
@@ -462,6 +462,10 @@ 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_endspent (d_endspent.U):
+       This variable conditionally defines HAS_ENDSPENT if endspent() is
+       available to finalize the scan of SysV shadow password entries.
+
 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.
@@ -744,6 +748,14 @@ d_getservprotos (d_getservprotos.U):
        prototypes for the various getserv*() functions.  
        See also netdbtype.U for probing for various netdb types.
 
+d_getspent (d_getspent.U):
+       This variable conditionally defines HAS_GETSPENT if getspent() is
+       available to retrieve SysV shadow password entries sequentially.
+
+d_getspnam (d_getspnam.U):
+       This variable conditionally defines HAS_GETSPNAM if getspnam() is
+       available to retrieve SysV shadow password entries by name.
+
 d_gettimeod (d_ftime.U):
        This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which
        indicates that the gettimeofday() system call exists (to obtain a
@@ -1274,6 +1286,10 @@ d_setsid (d_setsid.U):
        This variable conditionally defines HAS_SETSID if setsid() is
        available to set the process group ID.
 
+d_setspent (d_setspent.U):
+       This variable conditionally defines HAS_SETSPENT if setspent() is
+       available to initialize the scan of SysV shadow password entries.
+
 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
@@ -1898,6 +1914,14 @@ i_sgtty (i_termio.U):
        indicates to the C program that it should include <sgtty.h> rather
        than <termio.h>.
 
+i_shadow (i_shadow.U):
+       This variable conditionally defines the I_SHADOW symbol, and indicates
+       whether a C program should include <shadow.h>.
+
+i_socks (i_socks.U):
+       This variable conditionally defines the I_SOCKS symbol, and indicates
+       whether a C program should include <socks.h>.
+
 i_stdarg (i_varhdr.U):
        This variable conditionally defines the I_STDARG symbol, which
        indicates to the C program that <stdarg.h> exists and should
index f9e9447..f4df118 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Sat May 22 00:43:12 EET DST 1999
+# Configuration time: Mon Jul  5 02:12:38 EET DST 1999
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -30,10 +30,10 @@ afs='false'
 alignbytes='8'
 ansi2knr=''
 aphostname=''
-apiversion='5.00556'
+apiversion='5.00557'
 ar='ar'
-archlib='/opt/perl/lib/5.00556/alpha-dec_osf-thread'
-archlibexp='/opt/perl/lib/5.00556/alpha-dec_osf-thread'
+archlib='/opt/perl/lib/5.00557/alpha-dec_osf-thread'
+archlibexp='/opt/perl/lib/5.00557/alpha-dec_osf-thread'
 archname64=''
 archname='alpha-dec_osf-thread'
 archobjs=''
@@ -50,12 +50,12 @@ castflags='0'
 cat='cat'
 cc='cc'
 cccdlflags=' '
-ccdlflags='  -Wl,-rpath,/opt/perl/lib/5.00556/alpha-dec_osf-thread/CORE'
+ccdlflags='  -Wl,-rpath,/opt/perl/lib/5.00557/alpha-dec_osf-thread/CORE'
 ccflags='-pthread -std -DLANGUAGE_C'
 ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Sat May 22 00:43:12 EET DST 1999'
+cf_time='Mon Jul  5 02:12:38 EET DST 1999'
 chgrp=''
 chmod=''
 chown=''
@@ -121,6 +121,7 @@ d_endnent='define'
 d_endpent='define'
 d_endpwent='define'
 d_endsent='define'
+d_endspent='undef'
 d_eofnblk='define'
 d_eunice='undef'
 d_fchmod='define'
@@ -180,6 +181,8 @@ d_getsbyname='define'
 d_getsbyport='define'
 d_getsent='define'
 d_getservprotos='define'
+d_getspent='undef'
+d_getspnam='undef'
 d_gettimeod='define'
 d_gnulibc='undef'
 d_grpasswd='define'
@@ -301,6 +304,7 @@ d_setrgid='define'
 d_setruid='define'
 d_setsent='define'
 d_setsid='define'
+d_setspent='undef'
 d_setvbuf='define'
 d_sfio='undef'
 d_shm='define'
@@ -437,6 +441,8 @@ i_pwd='define'
 i_rpcsvcdbm='undef'
 i_sfio='undef'
 i_sgtty='undef'
+i_shadow='undef'
+i_socks='undef'
 i_stdarg='define'
 i_stddef='define'
 i_stdlib='define'
@@ -476,14 +482,14 @@ i_vfork='undef'
 ignore_versioned_solibs=''
 incpath=''
 inews=''
-installarchlib='/opt/perl/lib/5.00556/alpha-dec_osf-thread'
+installarchlib='/opt/perl/lib/5.00557/alpha-dec_osf-thread'
 installbin='/opt/perl/bin'
 installman1dir='/opt/perl/man/man1'
 installman3dir='/opt/perl/man/man3'
-installprivlib='/opt/perl/lib/5.00556'
+installprivlib='/opt/perl/lib/5.00557'
 installscript='/opt/perl/bin'
-installsitearch='/opt/perl/lib/site_perl/5.00556/alpha-dec_osf-thread'
-installsitelib='/opt/perl/lib/site_perl/5.00556'
+installsitearch='/opt/perl/lib/site_perl/5.00557/alpha-dec_osf-thread'
+installsitelib='/opt/perl/lib/site_perl/5.00557'
 installusrbinperl='define'
 intsize='4'
 known_extensions='B ByteLoader DB_File Data/Dumper Devel/Peek Fcntl GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re'
@@ -498,7 +504,7 @@ libc='/usr/shlib/libc.so'
 libperl='libperl.so'
 libpth='/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib'
 libs='-lgdbm -ldbm -ldb -lm -lrt -lpthread -lexc'
-libswanted='sfio socket inet nsl nm gdbm dbm db malloc dld ld sun m rt cposix posix ndir dir crypt ucb BSD x pthread exc'
+libswanted='sfio socket inet nsl nm gdbm dbm db malloc dld ld sun m rt cposix posix ndir dir crypt sec ucb BSD x pthread exc'
 line=''
 lint=''
 lkflags=''
@@ -574,8 +580,8 @@ pmake=''
 pr=''
 prefix='/opt/perl'
 prefixexp='/opt/perl'
-privlib='/opt/perl/lib/5.00556'
-privlibexp='/opt/perl/lib/5.00556'
+privlib='/opt/perl/lib/5.00557'
+privlibexp='/opt/perl/lib/5.00557'
 prototype='define'
 ptrsize='8'
 randbits='48'
@@ -607,10 +613,10 @@ sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE"
 sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 6 6 16 20 23 23 23 29 48 '
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0'
 signal_t='void'
-sitearch='/opt/perl/lib/site_perl/5.00556/alpha-dec_osf-thread'
-sitearchexp='/opt/perl/lib/site_perl/5.00556/alpha-dec_osf-thread'
-sitelib='/opt/perl/lib/site_perl/5.00556'
-sitelibexp='/opt/perl/lib/site_perl/5.00556'
+sitearch='/opt/perl/lib/site_perl/5.00557/alpha-dec_osf-thread'
+sitearchexp='/opt/perl/lib/site_perl/5.00557/alpha-dec_osf-thread'
+sitelib='/opt/perl/lib/site_perl/5.00557'
+sitelibexp='/opt/perl/lib/site_perl/5.00557'
 sizetype='size_t'
 sleep=''
 smail=''
@@ -636,7 +642,7 @@ stdio_ptr='((fp)->_ptr)'
 stdio_stream_array='_iob'
 strings='/usr/include/string.h'
 submit=''
-subversion='56'
+subversion='57'
 sysman='/usr/man/man1'
 tail=''
 tar=''
@@ -666,7 +672,7 @@ usethreads='define'
 usevfork='false'
 usrinc='/usr/include'
 uuname=''
-version='5.00556'
+version='5.00557'
 vi=''
 voidflags='15'
 xlibpth='/usr/lib/386 /lib/386'
@@ -688,7 +694,7 @@ config_arg9='-Dmyhostname=yourhost'
 config_arg10='-dE'
 PERL_REVISION=5
 PERL_VERSION=5
-PERL_SUBVERSION=56
+PERL_SUBVERSION=57
 CONFIGDOTSH=true
 # Variables propagated from previous config.sh file.
 pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
index a5af300..e3cf445 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Sat May 22 00:43:12 EET DST 1999
+ * Configuration time: Mon Jul  5 02:12:38 EET DST 1999
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
 /* HAS_SHMAT_PROTOTYPE:
  *     This symbol, if defined, indicates that the sys/shm.h includes
  *     a prototype for shmat().  Otherwise, it is up to the program to
- *     guess one.  Shmat_t shmat (int, Shmat_t, int) is a good guess,
+ *     guess one.  Shmat_t shmat _((int, Shmat_t, int)) is a good guess,
  *     but not always right so it should be emitted by the program only
  *     when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
  */
  *     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/5.00556/alpha-dec_osf-thread"           /**/
-#define ARCHLIB_EXP "/opt/perl/lib/5.00556/alpha-dec_osf-thread"               /**/
+#define ARCHLIB "/opt/perl/lib/5.00557/alpha-dec_osf-thread"           /**/
+#define ARCHLIB_EXP "/opt/perl/lib/5.00557/alpha-dec_osf-thread"               /**/
 
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
  */
 /*#define      DLSYM_NEEDS_UNDERSCORE  / **/
 
+/* HAS_ENDSPENT:
+ *     This symbol, if defined, indicates that the endspent system call is
+ *     available to finalize the scan of SysV shadow password entries.
+ */
+/*#define HAS_ENDSPENT         / **/
+
 /* HAS_FSEEKO:
  *     This symbol, if defined, indicates that the fseeko routine is
  *     available to fseek beyond 32 bits (useful for ILP32 hosts).
  */
 /*#define HAS_GETMNTENT                / **/
 
+/* HAS_GETSPENT:
+ *     This symbol, if defined, indicates that the getspent system call is
+ *     available to retrieve SysV shadow password entries sequentially.
+ */
+/*#define HAS_GETSPENT         / **/
+
+/* HAS_GETSPNAM:
+ *     This symbol, if defined, indicates that the getspnam system call is
+ *     available to retrieve SysV shadow password entries by name.
+ */
+/*#define HAS_GETSPNAM         / **/
+
 /* HAS_HASMNTOPT:
  *     This symbol, if defined, indicates that the hasmntopt routine is
  *     available to query the mount options of file systems.
  */
 #define HAS_READV              /**/
 
+/* HAS_SETSPENT:
+ *     This symbol, if defined, indicates that the setspent system call is
+ *     available to initialize the scan of SysV shadow password entries.
+ */
+/*#define HAS_SETSPENT         / **/
+
 /* USE_SFIO:
  *     This symbol, if defined, indicates that sfio should
  *     be used.
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the telldir() function.  Otherwise, it is up
  *     to the program to supply one.  A good guess is
- *             extern long telldir (DIR*);
+ *             extern long telldir _((DIR*));
  */
 #define        HAS_TELLDIR_PROTO       /**/
 
  */
 #define        I_POLL          /**/
 
+/* I_SHADOW:
+ *     This symbol, if defined, indicates that <shadow.h> exists and
+ *     should be included.
+ */
+/*#define      I_SHADOW                / **/
+
+/* I_SOCKS:
+ *     This symbol, if defined, indicates that <socks.h> exists and
+ *     should be included.
+ */
+/*#define      I_SOCKS         / **/
+
 /* I_SYS_MMAN:
  *     This symbol, if defined, indicates that <sys/mman.h> exists and
  *     should be included.
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/opt/perl/lib/5.00556"                /**/
-#define PRIVLIB_EXP "/opt/perl/lib/5.00556"            /**/
+#define PRIVLIB "/opt/perl/lib/5.00557"                /**/
+#define PRIVLIB_EXP "/opt/perl/lib/5.00557"            /**/
 
 /* SELECT_MIN_BITS:
  *     This symbol holds the minimum number of bits operated by select.
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "/opt/perl/lib/site_perl/5.00556/alpha-dec_osf-thread"                /**/
-#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00556/alpha-dec_osf-thread"            /**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.00557/alpha-dec_osf-thread"                /**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00557/alpha-dec_osf-thread"            /**/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  *     This symbol contains the ~name expanded version of SITELIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "/opt/perl/lib/site_perl/5.00556"              /**/
-#define SITELIB_EXP "/opt/perl/lib/site_perl/5.00556"          /**/
+#define SITELIB "/opt/perl/lib/site_perl/5.00557"              /**/
+#define SITELIB_EXP "/opt/perl/lib/site_perl/5.00557"          /**/
 
 /* STARTPERL:
  *     This variable contains the string to put in front of a perl
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the drand48() function.  Otherwise, it is up
  *     to the program to supply one.  A good guess is
- *             extern double drand48 (void);
+ *             extern double drand48 _((void));
  */
 #define        HAS_DRAND48_PROTO       /**/
 
index 44d4379..94c7b66 100644 (file)
@@ -2306,6 +2306,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$i_shadow     I_SHADOW                /**/
 
+/* I_SOCKS:
+ *     This symbol, if defined, indicates that <socks.h> exists and
+ *     should be included.
+ */
+#$i_socks      I_SOCKS         /**/
+
 /* I_SYS_MMAN:
  *     This symbol, if defined, indicates that <sys/mman.h> exists and
  *     should be included.
diff --git a/doio.c b/doio.c
index e148fbb..7e1645e 100644 (file)
--- a/doio.c
+++ b/doio.c
 
 #if defined(HAS_SOCKET) && !defined(VMS) /* VMS handles sockets via vmsish.h */
 # include <sys/socket.h>
-# include <netdb.h>
+# if (defined(SOCKS) || defined(USE_SOCKS)) && defined(I_SOCKS)
+#   include <socks.h>
+# endif 
+# ifdef I_NETBSD
+#  include <netdb.h>
+# endif
 # ifndef ENOTSOCK
 #  ifdef I_NET_ERRNO
 #   include <net/errno.h>
index 336e6c4..016a461 100644 (file)
@@ -7,6 +7,9 @@
 #  include <sys/types.h>
 # endif
 # include <sys/socket.h>
+# if (defined(SOCKS) || defined(USE_SOCKS)) && defined(I_SOCKS)
+#   include <socks.h>
+# endif 
 # ifdef MPE
 #  define PF_INET AF_INET
 #  define PF_UNIX AF_UNIX
@@ -18,7 +21,9 @@
 # ifdef I_NETINET_IN
 #  include <netinet/in.h>
 # endif
-# include <netdb.h>
+# ifdef I_NETDB
+#  include <netdb.h>
+# endif
 # ifdef I_ARPA_INET
 #  include <arpa/inet.h>
 # endif
index 0614ce7..581141d 100644 (file)
@@ -43,7 +43,9 @@ d_setruid='undef'
 
 alignbytes=8
 
-usemymalloc='n'
+case "$usemymalloc" in
+'')  usemymalloc='n' ;;
+esac
 
 # Intuiting the existence of system calls under AIX is difficult,
 # at best; the safest technique is to find them empirically.
@@ -79,7 +81,7 @@ case "$osvers" in
     ccflags="$ccflags -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE"
     case "$cc" in
      *gcc*) ;;
-     *) ccflags="$ccflags -qmaxmem=8192" ;;
+     *) ccflags="$ccflags -qmaxmem=16384" ;;
     esac
     nm_opt='-B'
     ;;
@@ -111,16 +113,14 @@ case "$osvers" in
     ;;
 esac
 
+# Save this for backward compatibility for now.
+# Configure already (5.005_58) knows how to probe for
+# <socks.h> and libsocks.  What sucks is that the name
+# of the socks library seems to be version dependent
+# (e.g. libsocks5), bleagh.
 #
 # if $ccflags contains -DSOCKS, then add socks library support.
 #
-# SOCKS support also requires each source module with socket support
-# add the following lines directly after the #include <socket.h>:
-#
-#   #ifdef SOCKS
-#   #include <socks.h>
-#   #endif
-#
 # It is expected that libsocks.a resides in /usr/local/lib and that
 # socks.h resides in /usr/local/include. If these files live some
 # different place then modify 
@@ -134,25 +134,6 @@ for arg in $ccflags ; do
       incpath=/usr/local/include
       libpath=/usr/local/lib
 
-      echo >&4 "SOCKS using $incpath/socks.h and $libpath/lib${sockslib}.a"
-      echo >&4 "SOCKS requires source modifications. #include <socket.h> must change to:"
-      echo >&4
-      echo >&4 "   #include <socket.h>"
-      echo >&4 "   #ifdef SOCKS"
-      echo >&4 "   #include <socks.h>"
-      echo >&4 "   #endif"
-      echo >&4
-      echo >&4 "in some or all of the following files:"
-      echo >&4
-
-      for arg in `find . \( -name '*.c' -o -name '*.xs' -o -name '*.h' \) \
-                         -exec egrep -l '#.*include.*socket\.h' {} \; | \
-                         egrep -v "win32|vms|t/lib|Socket.c` ; do
-         echo >&4 "   $arg"
-      done
-
-      echo >&4
-
       lddlflags="$lddlflags -l$sockslib"
 
       # setting $libs here breaks the optional libraries search
index 9600174..0470598 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -46,6 +46,9 @@ extern "C" int syscall(unsigned long,...);
 
 #if defined(HAS_SOCKET) && !defined(VMS) /* VMS handles sockets via vmsish.h */
 # include <sys/socket.h>
+# if (defined(SOCKS) || defined(USE_SOCKS)) && defined(I_SOCKS)
+#   include <socks.h>
+# endif 
 # ifdef I_NETDB
 #  include <netdb.h>
 # endif