summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1998-11-22 18:21:07 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1998-11-22 18:21:07 +0000
commitde4597cb5b86db37759ed7b6341e933f7aac9aa6 (patch)
tree8b8f91bd1ce71e93501b8e6a502037ed76f22634 /Porting
parent12940611cd66eff0427cdf2e912e870058b20252 (diff)
downloadperl-de4597cb5b86db37759ed7b6341e933f7aac9aa6.tar.gz
MSG_PROXY for GNU/Hurd (previously we believed that
all GNU libc platforms have MSG_PROXY. Untrue). In fact this ended up as a major MSG_* and SCM_* update. The MSG_XXX known to be enums in some versions of the glibc are now probed for and respective HAS_MSG_XXX are defined. While I was at it I noticed SCM_RIGHTS being similarly an enum. This reminded me of an ancient discussion in perl5-porters: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/9612/msg01017.html The BSD socket interface has a nifty feature for passing file descriptors and credentials--via sockets. It may be too late to add this functionality to the CORE but at least Configure now probes for the functions, structs, and includes, defining the appropriate HAS_YYY and I_ZZZ, and the Socket extension exports the constants, in case somebody wants to write an extension for this interface. p4raw-id: //depot/cfgperl@2285
Diffstat (limited to 'Porting')
-rw-r--r--Porting/Glossary66
-rw-r--r--Porting/config.sh22
-rw-r--r--Porting/config_H85
3 files changed, 164 insertions, 9 deletions
diff --git a/Porting/Glossary b/Porting/Glossary
index d19328c064..8159c04aea 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -329,6 +329,10 @@ d_closedir (d_closedir.U):
This variable conditionally defines HAS_CLOSEDIR if closedir() is
available.
+d_cmsghdr_s (d_socket.U):
+ This variable conditionally defines the HAS_STRUCT_CMSGHDR symbol,
+ which indicates that the the struct cmsghdr is supported.
+
d_const (d_const.U):
This variable conditionally defines the HASCONST symbol, which
indicates to the C program that this C compiler knows about the
@@ -369,7 +373,7 @@ d_difftime (d_difftime.U):
This variable conditionally defines the HAS_DIFFTIME symbol, which
indicates to the C program that the difftime() routine is available.
-d_dirent64s (io64.U):
+d_dirent64_s (io64.U):
This symbol will be defined if the C compiler supports struct dirent64.
d_dirnamlen (i_dirent.U):
@@ -493,7 +497,7 @@ d_flexfnam (d_flexfnam.U):
This variable conditionally defines the FLEXFILENAMES symbol, which
indicates that the system supports filenames longer than 14 characters.
-d_flock64s (io64.U):
+d_flock64_s (io64.U):
This symbol will be defined if the C compiler supports struct flock64.
d_flock (d_flock.U):
@@ -735,6 +739,10 @@ d_ino64t (io64.U):
d_int64t (i_inttypes.U):
This symbol will be defined if the C compiler supports int64_t.
+d_iovec_s (i_sysuio.U):
+ This variable conditionally defines the HAS_STRUCT_IOVEC symbol,
+ which indicates that the struct iovec is supported.
+
d_isascii (d_isascii.U):
This variable conditionally defines the HAS_ISASCII constant,
which indicates to the C program that isascii() is available.
@@ -837,6 +845,31 @@ d_msg (d_msg.U):
This variable conditionally defines the HAS_MSG symbol, which
indicates that the entire msg*(2) library is present.
+d_msg_ctrunc (d_socket.U):
+ This variable conditionally defines the HAS_MSG_CTRUNC symbol,
+ which indicates that the MSG_CTRUNC is available. #ifdef is
+ not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_dontroute (d_socket.U):
+ This variable conditionally defines the HAS_MSG_DONTROUTE symbol,
+ which indicates that the MSG_DONTROUTE is available. #ifdef is
+ not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_oob (d_socket.U):
+ This variable conditionally defines the HAS_MSG_OOB symbol,
+ which indicates that the MSG_OOB is available. #ifdef is
+ not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_peek (d_socket.U):
+ This variable conditionally defines the HAS_MSG_PEEK symbol,
+ which indicates that the MSG_PEEK is available. #ifdef is
+ not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_proxy (d_socket.U):
+ This variable conditionally defines the HAS_MSG_PROXY symbol,
+ which indicates that the MSG_PROXY is available. #ifdef is
+ not enough because it may be an enum, glibc has been known to do this.
+
d_msgctl (d_msgctl.U):
This variable conditionally defines the HAS_MSGCTL symbol, which
indicates to the C program that the msgctl() routine is available.
@@ -845,6 +878,10 @@ d_msgget (d_msgget.U):
This variable conditionally defines the HAS_MSGGET symbol, which
indicates to the C program that the msgget() routine is available.
+d_msghdr_s (d_socket.U):
+ This variable conditionally defines the HAS_STRUCT_MSGHDR symbol,
+ which indicates that the struct msghdr is supported.
+
d_msgrcv (d_msgrcv.U):
This variable conditionally defines the HAS_MSGRCV symbol, which
indicates to the C program that the msgrcv() routine is available.
@@ -977,6 +1014,14 @@ d_readlink (d_readlink.U):
indicates to the C program that the readlink() routine is available
to read the value of a symbolic link.
+d_readv (d_readv.U):
+ This variable conditionally defines the HAS_READV symbol, which
+ indicates to the C program that the readv() routine is available.
+
+d_recvmsg (d_socket.U):
+ This variable conditionally defines the HAS_RECVMSG symbol,
+ which indicates that the recvmsg is supported.
+
d_rename (d_rename.U):
This variable conditionally defines the HAS_RENAME symbol, which
indicates to the C program that the rename() routine is available
@@ -1008,6 +1053,11 @@ d_sched_yield (d_pthread_y.U):
symbol if the sched_yield routine is available to yield
the execution of the current thread.
+d_scm_rights (d_socket.U):
+ This variable conditionally defines the HAS_SCM_RIGHTS symbol,
+ which indicates that the SCM_RIGHTS is available. #ifdef is
+ not enough because it may be an enum, glibc has been known to do this.
+
d_seekdir64 (io64.U):
This variable conditionally defines the HAS_SEEKDIR64 symbol, which
indicates to the C program that the seekdir64() routine is available.
@@ -1045,6 +1095,10 @@ d_semop (d_semop.U):
This variable conditionally defines the HAS_SEMOP symbol, which
indicates to the C program that the semop() routine is available.
+d_sendmsg (d_socket.U):
+ This variable conditionally defines the HAS_SENDMSG symbol,
+ which indicates that the sendmsg is supported.
+
d_setegid (d_setegid.U):
This variable conditionally defines the HAS_SETEGID symbol, which
indicates to the C program that the setegid() routine is available
@@ -1406,6 +1460,10 @@ d_wctomb (d_wctomb.U):
indicates to the C program that the wctomb() routine is available
to convert a wide character to a multibyte.
+d_writev (d_writev.U):
+ This variable conditionally defines the HAS_WRITEV symbol, which
+ indicates to the C program that the writev() routine is available.
+
d_xenix (Guess.U):
This variable conditionally defines the symbol XENIX, which alerts
the C program that it runs under Xenix.
@@ -1796,6 +1854,10 @@ i_systypes (i_systypes.U):
This variable conditionally defines the I_SYS_TYPES symbol,
and indicates whether a C program should include <sys/types.h>.
+i_sysuio (i_sysuio.U):
+ This variable conditionally defines the I_SYSUIO symbol, and indicates
+ whether a C program should include <sys/uio.h>.
+
i_sysun (i_sysun.U):
This variable conditionally defines I_SYS_UN, which indicates
to the C program that it should include <sys/un.h> to get UNIX
diff --git a/Porting/config.sh b/Porting/config.sh
index 25c25cfcd6..dda3c3a704 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Thu Nov 5 12:26:24 EET 1998
+# Configuration time: Sun Nov 22 19:19:34 EET 1998
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -54,7 +54,7 @@ ccdlflags=' '
ccflags='-pthread -std -D__LANGUAGE_C__'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Thu Nov 5 12:26:24 EET 1998'
+cf_time='Sun Nov 22 19:19:34 EET 1998'
chgrp=''
chmod=''
chown=''
@@ -92,6 +92,7 @@ d_chown='define'
d_chroot='define'
d_chsize='undef'
d_closedir='define'
+d_cmsghdr_s='define'
d_const='define'
d_crypt='define'
d_csh='define'
@@ -101,7 +102,7 @@ d_dbmclose64='undef'
d_dbminit64='undef'
d_delete64='undef'
d_difftime='define'
-d_dirent64s='undef'
+d_dirent64_s='undef'
d_dirnamlen='define'
d_dlerror='define'
d_dlopen='define'
@@ -129,7 +130,7 @@ d_fgetpos64='undef'
d_fgetpos='define'
d_firstkey64='undef'
d_flexfnam='define'
-d_flock64s='undef'
+d_flock64_s='undef'
d_flock='define'
d_fopen64='undef'
d_fork='define'
@@ -180,6 +181,7 @@ d_index='undef'
d_inetaton='define'
d_ino64t='undef'
d_int64t='undef'
+d_iovec_s='define'
d_isascii='define'
d_killpg='define'
d_lchown='define'
@@ -203,8 +205,14 @@ d_mkdir='define'
d_mkfifo='define'
d_mktime='define'
d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='undef'
d_msgctl='define'
d_msgget='define'
+d_msghdr_s='define'
d_msgrcv='define'
d_msgsnd='define'
d_mymalloc='undef'
@@ -235,6 +243,8 @@ d_pwquota='define'
d_readdir64='undef'
d_readdir='define'
d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
@@ -242,6 +252,7 @@ d_safebcpy='define'
d_safemcpy='undef'
d_sanemcmp='define'
d_sched_yield='define'
+d_scm_rights='define'
d_seekdir64='undef'
d_seekdir='define'
d_select='define'
@@ -251,6 +262,7 @@ d_semctl_semid_ds='define'
d_semctl_semun='define'
d_semget='define'
d_semop='define'
+d_sendmsg='define'
d_setegid='define'
d_seteuid='define'
d_setgrent='define'
@@ -331,6 +343,7 @@ d_wait4='define'
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
+d_writev='define'
d_xenix='undef'
date='date'
db_hashtype='u_int32_t'
@@ -417,6 +430,7 @@ i_systime='define'
i_systimek='undef'
i_systimes='define'
i_systypes='define'
+i_sysuio='define'
i_sysun='define'
i_syswait='define'
i_termio='undef'
diff --git a/Porting/config_H b/Porting/config_H
index 97b5300cac..9fa28d831f 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Thu Nov 5 13:03:49 EET 1998
+ * Configuration time: Sun Nov 22 19:19:34 EET 1998
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -1717,8 +1717,68 @@
* This symbol, if defined, indicates that the BSD socketpair() call is
* supported.
*/
-#define HAS_SOCKET /**/
-#define HAS_SOCKETPAIR /**/
+/* HAS_MSG_CTRUNC:
+ * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ * This symbol, if defined, indicates that the MSG_OOB is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ * This symbol, if defined, indicates that the MSG_PEEK is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ * This symbol, if defined, indicates that the MSG_PROXY is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_SENDMSG:
+ * This symbol, if defined, indicates that the sendmsg is supported
+ * to send messages between sockets. You will also need struct
+ * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
+ */
+/* HAS_RECVMSG:
+ * This symbol, if defined, indicates that the recvmsg is supported
+ * to send messages between sockets. You will also need struct
+ * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
+ */
+/* HAS_STRUCT_MSGHDR:
+ * This symbol, if defined, indicates that the struct msghdr
+ * (BSD 4.3 or 4.4) is supported. You will also need struct
+ * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
+ */
+/* HAS_STRUCT_CMSGHDR:
+ * This symbol, if defined, indicates that the struct cmsghdr
+ * (BSD 4.4) is supported. You will also need struct
+ * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
+ */
+#define HAS_SOCKET /**/
+#define HAS_SOCKETPAIR /**/
+#define HAS_MSG_CTRUNC /**/
+#define HAS_MSG_DONTROUTE /**/
+#define HAS_MSG_OOB /**/
+#define HAS_MSG_PEEK /**/
+/*#define HAS_MSG_PROXY / **/
+#define HAS_SCM_RIGHTS /**/
+#define HAS_SENDMSG /**/
+#define HAS_RECVMSG /**/
+#define HAS_STRUCT_MSGHDR /**/
+#define HAS_STRUCT_CMSGHDR /**/
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
@@ -1851,6 +1911,12 @@
#define PWGECOS /**/
#define PWPASSWD /**/
+/* I_SYSUIO:
+ * This symbol, if defined, indicates that <sys/uio.h> exists and
+ * should be included.
+ */
+#define I_SYSUIO /**/
+
/* Free_t:
* This variable contains the return type of free(). It is usually
* void, but occasionally int.
@@ -1958,12 +2024,25 @@
*/
/*#define HAS_FTELLO / **/
+/* HAS_READV:
+ * This symbol, if defined, indicates that the readv routine is
+ * available to do gather reads. You will also need <sys/uio.h>
+ * and there I_SYSUIO.
+ */
+#define HAS_READV /**/
+
/* USE_SFIO:
* This symbol, if defined, indicates that sfio should
* be used.
*/
/*#define USE_SFIO / **/
+/* HAS_WRITEV:
+ * This symbol, if defined, indicates that the writev routine is
+ * available to do scatter writes.
+ */
+#define HAS_WRITEV /**/
+
/* HAS_DBMINIT64:
* This symbol, if defined, indicates that the dbminit64 routine is
* available to open dbm files larger than 2 gigabytes.