diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 1999-07-04 23:26:01 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1999-07-04 23:26:01 +0000 |
commit | 86959918b69bd7566746d776574341f410f68755 (patch) | |
tree | 6780588fce4cf2ffb2d134d8468905a555bb63f9 | |
parent | f6b3007c38a92f48d086a19ea8682dd935b6d4ee (diff) | |
download | perl-86959918b69bd7566746d776574341f410f68755.tar.gz |
Miscellaneus AIX fixes + SOCKS support.
p4raw-id: //depot/cfgperl@3578
-rwxr-xr-x | Configure | 8 | ||||
-rw-r--r-- | Makefile.SH | 1 | ||||
-rw-r--r-- | Porting/Glossary | 24 | ||||
-rw-r--r-- | Porting/config.sh | 46 | ||||
-rw-r--r-- | Porting/config_H | 60 | ||||
-rw-r--r-- | config_h.SH | 6 | ||||
-rw-r--r-- | doio.c | 7 | ||||
-rw-r--r-- | ext/Socket/Socket.xs | 7 | ||||
-rw-r--r-- | hints/aix.sh | 37 | ||||
-rw-r--r-- | pp_sys.c | 3 |
10 files changed, 136 insertions, 63 deletions
@@ -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' diff --git a/Makefile.SH b/Makefile.SH index 0c02a43838..d4c51978d2 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -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" diff --git a/Porting/Glossary b/Porting/Glossary index 8256ea8375..c7457b9bf1 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -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 diff --git a/Porting/config.sh b/Porting/config.sh index f9e944729a..f4df11856e 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -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"' diff --git a/Porting/config_H b/Porting/config_H index a5af3006c5..e3cf445f0b 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -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 */ @@ -581,7 +581,7 @@ /* 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. */ @@ -2069,8 +2069,8 @@ * 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 @@ -2080,6 +2080,12 @@ */ /*#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). @@ -2098,6 +2104,18 @@ */ /*#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. @@ -2123,6 +2141,12 @@ */ #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. @@ -2153,7 +2177,7 @@ * 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 /**/ @@ -2262,6 +2286,18 @@ */ #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. @@ -2360,8 +2396,8 @@ * 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. @@ -2385,8 +2421,8 @@ * 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. @@ -2401,8 +2437,8 @@ * 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 @@ -2492,7 +2528,7 @@ * 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 /**/ diff --git a/config_h.SH b/config_h.SH index 44d4379851..94c7b66ee9 100644 --- a/config_h.SH +++ b/config_h.SH @@ -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. @@ -64,7 +64,12 @@ #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> diff --git a/ext/Socket/Socket.xs b/ext/Socket/Socket.xs index 336e6c451a..016a4616e1 100644 --- a/ext/Socket/Socket.xs +++ b/ext/Socket/Socket.xs @@ -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 diff --git a/hints/aix.sh b/hints/aix.sh index 0614ce7ee9..581141d129 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -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 @@ -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 |