summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Konojacki <me@xenu.pl>2020-04-30 06:34:41 +0000
committerH.Merijn Brand <h.m.brand@xs4all.nl>2020-05-19 09:03:49 +0200
commit0a49e94867e32932f6fac0fc9297840a8b9ef6cf (patch)
treebf9dd750713e7e068c8de60993c23745c9c43bee
parentec26854652da3082dbe9fc6fffbd92af4a8537ab (diff)
downloadperl-0a49e94867e32932f6fac0fc9297840a8b9ef6cf.tar.gz
add Configure probe for struct sockaddr_storage
-rwxr-xr-xConfigure20
-rw-r--r--Cross/config.sh-arm-linux1
-rw-r--r--Cross/config.sh-arm-linux-n7701
-rw-r--r--NetWare/config.wc1
-rw-r--r--Porting/config.sh1
-rwxr-xr-xconfig_h.SH5
-rw-r--r--configure.com1
-rw-r--r--metaconfig.h2
-rw-r--r--plan9/config_sh.sample1
-rw-r--r--symbian/config.sh1
-rw-r--r--uconfig.h9
-rw-r--r--uconfig.sh1
-rw-r--r--uconfig64.sh1
-rw-r--r--win32/config.gc1
-rw-r--r--win32/config.vc1
15 files changed, 44 insertions, 3 deletions
diff --git a/Configure b/Configure
index 483482b2af..f0edfb7695 100755
--- 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'
diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux
index f741a6cdff..5baa4b4958 100644
--- a/Cross/config.sh-arm-linux
+++ b/Cross/config.sh-arm-linux
@@ -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'
diff --git a/Cross/config.sh-arm-linux-n770 b/Cross/config.sh-arm-linux-n770
index 0db48a065a..d77c2467f8 100644
--- a/Cross/config.sh-arm-linux-n770
+++ b/Cross/config.sh-arm-linux-n770
@@ -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'
diff --git a/NetWare/config.wc b/NetWare/config.wc
index 5ee6599404..b0a02f5605 100644
--- a/NetWare/config.wc
+++ b/NetWare/config.wc
@@ -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'
diff --git a/Porting/config.sh b/Porting/config.sh
index fdcbbe19be..9abe27cd7d 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -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'
diff --git a/config_h.SH b/config_h.SH
index d890bca94e..451c04a51d 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -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 /**/
diff --git a/configure.com b/configure.com
index 932a6b3810..713e875d33 100644
--- a/configure.com
+++ b/configure.com
@@ -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 + "'"
diff --git a/metaconfig.h b/metaconfig.h
index baba5eac68..96a02a57eb 100644
--- a/metaconfig.h
+++ b/metaconfig.h
@@ -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
*/
diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample
index 23ce79f5e0..0af4f7095d 100644
--- a/plan9/config_sh.sample
+++ b/plan9/config_sh.sample
@@ -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'
diff --git a/symbian/config.sh b/symbian/config.sh
index c7be0e54ce..b5260d7f34 100644
--- a/symbian/config.sh
+++ b/symbian/config.sh
@@ -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'
diff --git a/uconfig.h b/uconfig.h
index f949665a6e..d74c417c2d 100644
--- a/uconfig.h
+++ b/uconfig.h
@@ -1905,6 +1905,10 @@
* 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.
@@ -1929,6 +1933,7 @@
/*#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 / **/
@@ -5251,6 +5256,6 @@
#endif
/* Generated from:
- * 8762a3dfdfab48d1fe29cf7b27dfa150e1eec38b0d1f0f441d7cd9f5abef7dc8 config_h.SH
- * 31c25f95118efbf99e358f81091058e6723b4cccb8474dfbc6d06c2b7d46ff17 uconfig.sh
+ * 15acb59ff9e808ff9fbebc95510c0bed8b1de705034bf4b22482bfa431da15b6 config_h.SH
+ * e598046e9da73796e21226371ce26e8f2144852e0f5da7f00e52e1dbe1eaeaa6 uconfig.sh
* ex: set ro: */
diff --git a/uconfig.sh b/uconfig.sh
index 834cdf311c..7cbbf3a16f 100644
--- a/uconfig.sh
+++ b/uconfig.sh
@@ -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'
diff --git a/uconfig64.sh b/uconfig64.sh
index 65360c039e..fb71c56fde 100644
--- a/uconfig64.sh
+++ b/uconfig64.sh
@@ -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'
diff --git a/win32/config.gc b/win32/config.gc
index 9a1a99e8ea..793b455d0c 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -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'
diff --git a/win32/config.vc b/win32/config.vc
index 529139357e..a2c3f5a53d 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -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'