aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2010-11-01 14:50:56 +0100
committerIngela Anderton Andin <[email protected]>2010-11-01 14:50:56 +0100
commita77d2b315600bbc851d3ab6d8d70c62715d5ce7c (patch)
tree70eb5efd79873e714e59d3847b8f126d86cb45dd
parentff182ad7f0b4422f961b4b5336b747cc9f3b2cdf (diff)
parent626d906d3ad46d46a6c90cf3239fd60bad5dc318 (diff)
downloadotp-a77d2b315600bbc851d3ab6d8d70c62715d5ce7c.tar.gz
otp-a77d2b315600bbc851d3ab6d8d70c62715d5ce7c.tar.bz2
otp-a77d2b315600bbc851d3ab6d8d70c62715d5ce7c.zip
Merge branch 'ia/odbc/windows_fix' into dev
* ia/odbc/windows_fix: Better configure test that also works on windows.
-rw-r--r--lib/odbc/c_src/odbcserver.c2
-rw-r--r--lib/odbc/configure.in9
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/odbc/c_src/odbcserver.c b/lib/odbc/c_src/odbcserver.c
index 78a6fc41a8..84b9a99192 100644
--- a/lib/odbc/c_src/odbcserver.c
+++ b/lib/odbc/c_src/odbcserver.c
@@ -1741,7 +1741,7 @@ static int connect_to_erlang(const char *port)
#endif
struct sockaddr_in sin;
-#if defined(AF_INET6)
+#if defined(HAVE_STRUCT_SOCKADDR_IN6_SIN6_ADDR) && defined(AF_INET6)
struct sockaddr_in6 sin6;
sock = socket(AF_INET6, SOCK_STREAM, 0);
diff --git a/lib/odbc/configure.in b/lib/odbc/configure.in
index 94e8a214d4..c16d4f3880 100644
--- a/lib/odbc/configure.in
+++ b/lib/odbc/configure.in
@@ -118,11 +118,18 @@ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"]))
dnl Checks for header files.
AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h netdb.h stdlib.h string.h sys/socket.h])
+AC_CHECK_HEADERS([fcntl.h netdb.h stdlib.h string.h sys/socket.h winsock2.h])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
+AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_addr], [], [],
+ [#if HAVE_WINSOCK2_H
+ #include <winsock2.h>
+ #include <windows.h>
+ #else
+ #include <netinet/in.h>
+ #endif])
dnl Checks for library functions.
AC_CHECK_FUNCS([memset socket])