diff --git a/configure.ac b/configure.ac index b7cfcc1..e7db854 100644 --- a/configure.ac +++ b/configure.ac @@ -703,12 +703,22 @@ AC_ARG_WITH(ipv6, [ --without-ipv6 disable IPv6 support],,) if test "x$with_ipv6" != "xno"; then AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(IPv6,1), - AC_CHECK_LIB(socket, getaddrinfo, AC_DEFINE(IPv6,1))) + AC_CHECK_LIB(socket, getaddrinfo, AC_DEFINE(IPv6,1), [ + AC_MSG_CHECKING([for getaddrinfo in -lws2_32]) + LIBS="$LIBS -lws2_32" + AC_TRY_LINK([#include ], [getaddrinfo(0, 0, 0, 0);], [ + AC_DEFINE(IPv6,1) + AC_MSG_RESULT([yes]) + ], + AC_MSG_RESULT([no])) + ])) fi + + # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h]) +AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h ws2tcpip.h]) # x11vnc only: if test "$build_x11vnc" = "yes"; then diff --git a/libvncclient/sockets.c b/libvncclient/sockets.c index ff4fe48..0171a5c 100644 --- a/libvncclient/sockets.c +++ b/libvncclient/sockets.c @@ -37,6 +37,10 @@ #define read(sock,buf,len) recv(sock,buf,len,0) #define write(sock,buf,len) send(sock,buf,len,0) #define socklen_t int +#ifdef LIBVNCSERVER_HAVE_WS2TCPIP_H +#undef socklen_t +#include +#endif #else #include #include