summaryrefslogtreecommitdiff
path: root/build/apr_network.m4
diff options
context:
space:
mode:
authorjorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>2003-09-29 16:10:08 +0000
committerjorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>2003-09-29 16:10:08 +0000
commited53dbd387217ee33db1cf5148355ebd5d81cb33 (patch)
treed2f9cce72623d1c6b7d2b9748b90224d6b2509ee /build/apr_network.m4
parentf207a5778977fcc6164e41b1226bb6caa49c41bc (diff)
downloadlibapr-ed53dbd387217ee33db1cf5148355ebd5d81cb33.tar.gz
For platforms which have "struct sockaddr_stroage", allow
apr_sockaddr_t to be extended in the future whilst retaining binary compatibility across builds with and without IPv6 enabled. * build/apr_network.m4 (APR_CHECK_SOCKADDR_STORAGE): New macro. * configure.in: Use it. * include/apr.h.in: Define APR_HAVE_SA_STORAGE. * include/apr_network_io.h: Add a "struct sockaddr_storage" field to the 'sa' union in apr_sockaddr_t. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64666 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build/apr_network.m4')
-rw-r--r--build/apr_network.m420
1 files changed, 20 insertions, 0 deletions
diff --git a/build/apr_network.m4 b/build/apr_network.m4
index 691ef2f6a..7f7fbaa95 100644
--- a/build/apr_network.m4
+++ b/build/apr_network.m4
@@ -640,6 +640,26 @@ else
fi
])
+AC_DEFUN(APR_CHECK_SOCKADDR_STORAGE,[
+AC_CACHE_CHECK(for sockaddr_storage, apr_cv_define_sockaddr_storage,[
+AC_TRY_COMPILE([
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+],[struct sockaddr_storage sa;],
+[apr_cv_define_sockaddr_storage=yes],
+[apr_cv_define_sockaddr_storage=no])])
+
+if test "$apr_cv_define_sockaddr_storage" = "yes"; then
+ have_sa_storage=1
+else
+ have_sa_storage=0
+fi
+AC_SUBST(have_sa_storage)
+])
AC_DEFUN(APR_CHECK_SOCKADDR_IN6,[
AC_CACHE_CHECK(for sockaddr_in6, ac_cv_define_sockaddr_in6,[