From a67394492b927ba8538dd5c0c5171d3b206322e8 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Fri, 31 Aug 2001 05:47:59 +0000 Subject: make sockaddr_storage checks separate from ipv6 support git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@13713 dc483132-0cff-0310-8789-dd5450dbe970 --- src/ChangeLog | 10 ++++++++++ src/acconfig.h | 2 ++ src/aclocal.m4 | 31 +++++++++++++++++++++++++++++-- 3 files changed, 41 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index fa0940dfd9..c448455299 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2001-08-31 Ken Raeburn + + * aclocal.m4 (KRB5_AC_CHECK_TYPE_WITH_HEADERS, + KRB5_AC_CHECK_SOCKADDR_STORAGE): New macros. + (KRB5_AC_CHECK_INET6): Call KRB5_AC_CHECK_SOCKADDR_STORAGE, but + don't require success for IPv6 support. + (KRB5_SOCKADDR_SA_LEN): Change first letter of checking message to + lowercase. + * acconfig.h (HAVE_STRUCT_SOCKADDR_STORAGE): Undef. + 2001-08-30 Ken Raeburn * aclocal.m4 (AC_KRB5_TCL_FIND_CONFIG): Do put /usr/include/tcl$v diff --git a/src/acconfig.h b/src/acconfig.h index 74e4b66446..44870c22da 100644 --- a/src/acconfig.h +++ b/src/acconfig.h @@ -26,6 +26,8 @@ /* Define if there is a socklen_t type; if not, size_t is probably what we should use. */ #undef HAVE_SOCKLEN_T +/* Define if "struct sockaddr_storage" is available. */ +#undef HAVE_STRUCT_SOCKADDR_STORAGE /* Define if MIT Project Athena default configuration should be used */ #undef KRB5_ATHENA_COMPAT diff --git a/src/aclocal.m4 b/src/aclocal.m4 index e047084427..695ccbec25 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -241,7 +241,35 @@ case "$enableval" in *) AC_MSG_ERROR(bad value "$enableval" for enable-ipv6 option) ;; esac ])dnl +dnl +AC_DEFUN(KRB5_AC_CHECK_TYPE_WITH_HEADERS,[ +AC_MSG_CHECKING(for type $1) +changequote(<<,>>)dnl +varname=`echo $1 | sed 's,[ -],_,g'` +changequote([,])dnl +AC_CACHE_VAL(krb5_cv_$varname,[ +AC_TRY_COMPILE([$2],[ $1 foo; ], eval krb5_cv_$varname=yes, eval krb5_cv_$varname=no)]) +eval x="\$krb5_cv_$varname" +AC_MSG_RESULT($x) +if eval test "$x" = yes ; then + AC_DEFINE_UNQUOTED(HAVE_`echo $varname | tr a-z A-Z`) +fi]) +dnl +dnl +AC_DEFUN(KRB5_AC_CHECK_SOCKADDR_STORAGE,[ +KRB5_AC_CHECK_TYPE_WITH_HEADERS(struct sockaddr_storage, [ +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_MACSOCK_H +#include +#else +#include +#endif +#include +])])dnl AC_DEFUN(KRB5_AC_CHECK_INET6,[ +AC_REQUIRE([KRB5_AC_CHECK_SOCKADDR_STORAGE]) AC_MSG_CHECKING(for IPv6 compile-time support) AC_CACHE_VAL(krb5_cv_inet6,[ dnl NetBSD and Linux both seem to have gotten get*info but not getipnodeby* @@ -262,7 +290,6 @@ AC_TRY_COMPILE([ #include ],[ struct sockaddr_in6 in; - struct sockaddr_storage x; AF_INET6; IN6_IS_ADDR_LINKLOCAL (&in.sin6_addr); ],krb5_cv_inet6=yes,krb5_cv_inet6=no)]) @@ -528,7 +555,7 @@ dnl KRB5_SOCKADDR_SA_LEN: define HAVE_SA_LEN if sockaddr contains the sa_len dnl component dnl AC_DEFUN([KRB5_SOCKADDR_SA_LEN],[ dnl -AC_MSG_CHECKING(Whether struct sockaddr contains sa_len) +AC_MSG_CHECKING(whether struct sockaddr contains sa_len) AC_CACHE_VAL(krb5_cv_sockaddr_sa_len, [AC_TRY_COMPILE([#include #include -- cgit