+AC_MSG_CHECKING(for socklen_t)
+AC_EGREP_HEADER(socklen_t, sys/socket.h, [
+ AC_DEFINE(HAVE_SYS_SOCKET_H)
+ AC_MSG_RESULT(sys/socket.h)
+], [
+ AC_DEFINE(NEED_SOCKLEN_T_DEFINE)
+ AC_MSG_RESULT([socklen_t size_t])
+])
+
+AC_MSG_CHECKING(for h_errno)
+AC_EGREP_HEADER(h_errno, netdb.h, [AC_DEFINE(HAVE_NETDB_H)
+ AC_MSG_RESULT(found)
+], [AC_TRY_COMPILE(netdb.h, h_errno foo, [AC_MSG_RESULT(found)
+ AC_MSG_RESULT(found)
+ ], [ah_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ AC_TRY_COMPILE([netdb.h], [h_errno foo], [AC_DEFINE(NEED_XOPEN_NETDB_H)
+ AC_MSG_RESULT([found, needed -D_XOPEN_SOURCE_EXTENDED])
+ ], [CFLAGS="$ah_CFLAGS"
+ AC_MSG_ERROR(["not found."])
+ ])
+ ])
+])
+