(AC_KRB_IPV6): rewrote to avoid false positives
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4564 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
49
acinclude.m4
49
acinclude.m4
@@ -697,12 +697,47 @@ if test "$ac_cv_func_vsnprintf_working" = yes; then
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl test for IPv6
|
||||
dnl
|
||||
|
||||
AC_DEFUN(AC_KRB_IPV6, [
|
||||
AC_MSG_CHECKING(for IPv6)
|
||||
foo=no
|
||||
AC_EGREP_HEADER(sockaddr_in6, netinet/in.h,
|
||||
AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6) foo=yes)
|
||||
AC_EGREP_HEADER(sockaddr_in6, netinet/in6.h,
|
||||
AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6) foo=yes)
|
||||
AC_MSG_RESULT($foo)
|
||||
AC_CACHE_CHECK(for IPv6,ac_cv_lib_ipv6,
|
||||
AC_TRY_COMPILE([
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN6_H
|
||||
#include <netinet/in6.h>
|
||||
#endif
|
||||
],
|
||||
[
|
||||
#if defined(IN6ADDR_ANY_INIT)
|
||||
struct in6_addr any = IN6ADDR_ANY_INIT;
|
||||
#elif defined(IPV6ADDR_ANY_INIT)
|
||||
struct in6_addr any = IPV6ADDR_ANY_INIT;
|
||||
#else
|
||||
#error no any?
|
||||
#endif
|
||||
struct sockaddr_in6 sin6;
|
||||
int s;
|
||||
|
||||
s = socket(AF_INET6, SOCK_DGRAM, 0);
|
||||
|
||||
sin6.sin6_family = AF_INET6;
|
||||
sin6.sin6_port = htons(17);
|
||||
sin6.sin6_addr = any;
|
||||
bind(s, (struct sockaddr *)&sin6, sizeof(sin6));
|
||||
],
|
||||
ac_cv_lib_ipv6=yes,
|
||||
ac_cv_lib_ipv6=no))
|
||||
if test "$ac_cv_lib_ipv6" = yes; then
|
||||
AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6)
|
||||
fi
|
||||
])
|
||||
|
Reference in New Issue
Block a user