AC_DEFUN([MY_WORKING_IN6_IS_ADDR_V4MAPPED], [ AC_CACHE_CHECK([whether IN6_IS_ADDR_V4MAPPED works], my_cv_func_in6_is_addr_v4mapped, [ AC_COMPILE_IFELSE( [AC_LANG_SOURCE([[#include int foo(struct sockaddr_in6 *sap6) { return IN6_IS_ADDR_V4MAPPED(&sap6->sin6_addr); }]])], [my_cv_func_in6_is_addr_v4mapped=yes], [my_cv_func_in6_is_addr_v4mapped=no])]) AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_addr.s6_addr], [my_member_sockaddr_in6_sin6_addr_s6_addr=yes], [my_member_sockaddr_in6_sin6_addr_s6_addr=no], [[#include ]]) if test "x$my_cv_func_in6_is_addr_v4mapped$my_member_sockaddr_in6_sin6_addr_s6_addr" = xyesyes; then AC_DEFINE([HAVE_WORKING_IN6_IS_ADDR_V4MAPPED], [1], [Define if you have a working IN6_IS_ADDR_V4MAPPED()]) fi ])