-
-AC_CHECK_TYPE(fd_set, int)
-
-dnl checking if the system supports ipv6 address space or not
-AC_CACHE_CHECK([for struct in6_addr], ac_cv_struct_in6_addr,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet6/in6.h>], [struct in6_addr v6; v6.s6_addr32[3];],
-ac_cv_struct_in6_addr=yes, ac_cv_struct_in6_addr=no)])
-test "x$ac_cv_struct_in6_addr" = "xyes" && AC_DEFINE(HAVE_IN6_ADDR)
-
-dnl checking if the system supports tcp over ipv6 support or not
-AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_struct_sockaddr_in6,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet6/in6.h>], [struct sockaddr_in6 v6; v6.sin6_addr;],
-ac_cv_struct_sockaddr_in6=yes, ac_cv_struct_sockaddr_in6=no)])
-test "x$ac_cv_struct_sockaddr_in6" = "xyes" && AC_DEFINE(HAVE_SOCKADDR_IN6)
-
-dnl
-dnl Test for OpenSSL
-dnl
-AC_ARG_WITH(openssl,[ --with-openssl=PATH use OpenSSL from PATH])
-
-case "$with_openssl" in
- yes|"")
- with_openssl=${prefix}/ssl
-esac
-
-CPPFLAGS="${CPPFLAGS} -I${with_openssl}/include"
-AC_CHECK_HEADER(openssl/ssl.h,,with_openssl="no")
-
-LDFLAGS="${LDFLAGS} -L${with_openssl}/lib"
-AC_CHECK_LIB(crypto,BIO_accept,LIBS=" -lcrypto ${LIBS}",with_openssl="no")
-AC_CHECK_LIB(ssl,SSL_CTX_new,LIBS=" -lssl ${LIBS}",with_openssl="no")
-
-AC_MSG_CHECKING(for openssl)
-AC_MSG_RESULT($with_openssl)
-
-if test "$with_openssl" != "no"; then
- AC_DEFINE(HAVE_SSL)
+AC_CHECK_FUNC(poll)
+
+AC_ARG_WITH(openssl, AC_HELP_STRING([--with-openssl=PATH], [use OpenSSL from PATH]))
+AC_ARG_WITH(gnutls, AC_HELP_STRING([--with-gnutls], [use GnuTLS instead of OpenSSL]),
+ use_gnutls=true, use_gnutls=false)
+AM_CONDITIONAL(USE_GNUTLS, test x$use_gnutls = xtrue)
+
+if $use_gnutls; then
+ AC_CHECK_HEADER(gnutls/gnutls.h, [
+ AC_DEFINE(USE_GNUTLS)
+ AC_CHECK_LIB(gnutls, gnutls_global_init, LIBS="-lgnutls $LIBS")],
+ [GnuTLS is selected, but it is not installed])