summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac11
-rw-r--r--m4/curl-functions.m410
2 files changed, 20 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 4fba81715..7593e9609 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1083,7 +1083,11 @@ AC_HELP_STRING([--disable-ipv6],[Disable IPv6 support]),
AC_TRY_RUN([ /* is AF_INET6 available? */
#include <sys/types.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
#include <sys/socket.h>
+#endif
#include <stdlib.h> /* for exit() */
main()
{
@@ -1110,7 +1114,12 @@ if test "$ipv6" = yes; then
AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
AC_TRY_COMPILE([
#include <sys/types.h>
-#include <netinet/in.h>] ,
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
+#include <netinet/in.h>
+#endif] ,
struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
if test "$have_sin6_scope_id" = yes; then
AC_MSG_RESULT([yes])
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index 0d6542121..0f8fb2a64 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -44,6 +44,10 @@ curl_includes_arpa_inet="\
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#endif
/* includes end */"
AC_CHECK_HEADERS(
sys/types.h sys/socket.h netinet/in.h arpa/inet.h,
@@ -2098,6 +2102,12 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [
struct addrinfo *ai = 0;
int error;
+ #ifdef HAVE_WINSOCK2_H
+ WSADATA wsa;
+ if (WSAStartup(MAKEWORD(2,2), &wsa))
+ exit(2);
+ #endif
+
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_NUMERICHOST;
hints.ai_family = AF_UNSPEC;