This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add Configure probe for struct sockaddr_storage
authorTomasz Konojacki <me@xenu.pl>
Thu, 30 Apr 2020 06:34:41 +0000 (06:34 +0000)
committerH.Merijn Brand <h.m.brand@xs4all.nl>
Tue, 19 May 2020 07:03:49 +0000 (09:03 +0200)
15 files changed:
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
NetWare/config.wc
Porting/config.sh
config_h.SH
configure.com
metaconfig.h
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.gc
win32/config.vc

index 483482b..f0edfb7 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -833,6 +833,7 @@ d_scm_rights=''
 d_sin6_scope_id=''
 d_sockaddr_in6=''
 d_sockaddr_sa_len=''
+d_sockaddr_storage=''
 d_socket=''
 d_sockpair=''
 sockethdr=''
@@ -11975,6 +11976,24 @@ set d_sockaddr_in6; eval $setvar
 $rm_try
 
 echo " "
+echo "Checking the availability struct sockaddr_storage ..." >&4
+$cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+int main() {
+struct sockaddr_storage sastor;
+return (sastor.ss_family);
+}
+EOF
+val="$undef"
+set try; if eval $compile; then
+    val="$define"
+fi
+set d_sockaddr_storage; eval $setvar
+$rm_try
+
+echo " "
 echo "Checking the availability sin6_scope_id in struct sockaddr_in6 ..." >&4
 $cat >try.c <<EOF
 #include <sys/types.h>
@@ -24505,6 +24524,7 @@ d_sitearch='$d_sitearch'
 d_snprintf='$d_snprintf'
 d_sockaddr_in6='$d_sockaddr_in6'
 d_sockaddr_sa_len='$d_sockaddr_sa_len'
+d_sockaddr_storage='$d_sockaddr_storage'
 d_sockatmark='$d_sockatmark'
 d_sockatmarkproto='$d_sockatmarkproto'
 d_socket='$d_socket'
index f741a6c..5baa4b4 100644 (file)
@@ -538,6 +538,7 @@ d_sitearch='define'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
index 0db48a0..d77c246 100644 (file)
@@ -537,6 +537,7 @@ d_sitearch='define'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
index 5ee6599..b0a02f5 100644 (file)
@@ -528,6 +528,7 @@ d_sitearch='undef'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
index fdcbbe1..9abe27c 100644 (file)
@@ -554,6 +554,7 @@ d_sitearch='define'
 d_snprintf='define'
 d_sockaddr_in6='define'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='define'
 d_sockatmarkproto='define'
 d_socket='define'
index d890bca..451c04a 100755 (executable)
@@ -1950,6 +1950,10 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol, if defined, indicates the availability of
  *     struct sockaddr_in6;
  */
+/* HAS_SOCKADDR_STORAGE:
+ *     This symbol, if defined, indicates the availability of
+ *     struct sockaddr_storage;
+ */
 /* HAS_SIN6_SCOPE_ID:
  *     This symbol, if defined, indicates that the struct sockaddr_in6
  *     structure has a member called sin6_scope_id.
@@ -1974,6 +1978,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_sockpair   HAS_SOCKETPAIR  /**/
 #$d_sockaddr_sa_len    HAS_SOCKADDR_SA_LEN     /**/
 #$d_sockaddr_in6       HAS_SOCKADDR_IN6        /**/
+#$d_sockaddr_storage   HAS_SOCKADDR_STORAGE    /**/
 #$d_sin6_scope_id      HAS_SIN6_SCOPE_ID       /**/
 #$d_ip_mreq    HAS_IP_MREQ     /**/
 #$d_ip_mreq_source     HAS_IP_MREQ_SOURCE      /**/
index 932a6b3..713e875 100644 (file)
@@ -6537,6 +6537,7 @@ $ WC "d_sin6_scope_id='" + d_sin6_scope_id + "'"
 $ WC "d_sitearch='define'"
 $ WC "d_sockaddr_in6='define'"
 $ WC "d_sockaddr_sa_len='" + d_sockaddr_sa_len + "'"
+$ WC "d_sockaddr_storage='undef'"
 $ WC "d_sockatmark='undef'"
 $ WC "d_sockatmarkproto='undef'"
 $ WC "d_socket='" + d_socket + "'"
index baba5ea..96a02a5 100644 (file)
@@ -13,5 +13,5 @@
  * Symbols should only be here temporarily. Once they are actually used,
  * they should be removed from here.
  *
- * HAS_WCRTOMB
+ * HAS_WCRTOMB HAS_SOCKADDR_STORAGE
  */
index 23ce79f..0af4f70 100644 (file)
@@ -538,6 +538,7 @@ d_sitearch='define'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
index c7be0e5..b5260d7 100644 (file)
@@ -487,6 +487,7 @@ d_sitecustomize='undef'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
index f949665..d74c417 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  *     This symbol, if defined, indicates the availability of
  *     struct sockaddr_in6;
  */
+/* HAS_SOCKADDR_STORAGE:
+ *     This symbol, if defined, indicates the availability of
+ *     struct sockaddr_storage;
+ */
 /* HAS_SIN6_SCOPE_ID:
  *     This symbol, if defined, indicates that the struct sockaddr_in6
  *     structure has a member called sin6_scope_id.
 /*#define      HAS_SOCKETPAIR  / **/
 /*#define      HAS_SOCKADDR_SA_LEN     / **/
 /*#define      HAS_SOCKADDR_IN6        / **/
+/*#define      HAS_SOCKADDR_STORAGE    / **/
 /*#define      HAS_SIN6_SCOPE_ID       / **/
 /*#define      HAS_IP_MREQ     / **/
 /*#define      HAS_IP_MREQ_SOURCE      / **/
 #endif
 
 /* Generated from:
- * 8762a3dfdfab48d1fe29cf7b27dfa150e1eec38b0d1f0f441d7cd9f5abef7dc8 config_h.SH
- * 31c25f95118efbf99e358f81091058e6723b4cccb8474dfbc6d06c2b7d46ff17 uconfig.sh
+ * 15acb59ff9e808ff9fbebc95510c0bed8b1de705034bf4b22482bfa431da15b6 config_h.SH
+ * e598046e9da73796e21226371ce26e8f2144852e0f5da7f00e52e1dbe1eaeaa6 uconfig.sh
  * ex: set ro: */
index 834cdf3..7cbbf3a 100644 (file)
@@ -478,6 +478,7 @@ d_sitearch='undef'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='undef'
index 65360c0..fb71c56 100644 (file)
@@ -478,6 +478,7 @@ d_sitearch='undef'
 d_snprintf='undef'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='undef'
index 9a1a99e..793b455 100644 (file)
@@ -527,6 +527,7 @@ d_sitearch='define'
 d_snprintf='define'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='define'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
index 5291393..a2c3f5a 100644 (file)
@@ -527,6 +527,7 @@ d_sitearch='define'
 d_snprintf='define'
 d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
+d_sockaddr_storage='define'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'