diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake index 1212bf9f..756d67fe 100644 --- a/cmake/ConfigureChecks.cmake +++ b/cmake/ConfigureChecks.cmake @@ -10,6 +10,7 @@ check_include_file(sys/poll.h HAVE_POLL) # dbus-sysdeps.c, dbus-sysdeps-w check_include_file(sys/time.h HAVE_SYS_TIME_H)# dbus-sysdeps-win.c check_include_file(sys/wait.h HAVE_SYS_WAIT_H)# dbus-sysdeps-win.c check_include_file(time.h HAVE_TIME_H) # dbus-sysdeps-win.c +check_include_file(wspiapi.h HAVE_WSPIAPI_H) # dbus-sysdeps-win.c check_include_file(unistd.h HAVE_UNISTD_H) # dbus-sysdeps-util-win.c check_include_file(stdio.h HAVE_STDIO_H) # dbus-sysdeps.h check_include_file(sys/syslimits.h HAVE_SYS_SYSLIMITS_H) # dbus-sysdeps-unix.c diff --git a/cmake/config.h.cmake b/cmake/config.h.cmake index 018fdfd2..4f523878 100644 --- a/cmake/config.h.cmake +++ b/cmake/config.h.cmake @@ -82,6 +82,9 @@ /* Define to 1 if you have time.h */ #cmakedefine HAVE_TIME_H 1 +/* Define to 1 if you have wspiapi.h */ +#cmakedefine HAVE_WSPIAPI_H 1 + /* Define to 1 if you have unistd.h */ #cmakedefine HAVE_UNISTD_H 1 diff --git a/configure.in b/configure.in index 34c79a56..24ad5544 100644 --- a/configure.in +++ b/configure.in @@ -443,6 +443,8 @@ AC_CHECK_HEADERS(byteswap.h) AC_CHECK_HEADERS(unistd.h) +AC_CHECK_HEADERS(wspiapi.h) + # Add -D_POSIX_PTHREAD_SEMANTICS if on Solaris # case $host_os in diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 4a42c761..98bf4c94 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -53,6 +53,16 @@ #include #include +#ifdef HAVE_WSPIAPI_H +// needed for w2k compatibility (getaddrinfo/freeaddrinfo/getnameinfo) +#ifdef __GNUC__ +#define _inline +#include "wspiapi.h" +#else +#include +#endif +#endif // HAVE_WSPIAPI_H + #ifndef O_BINARY #define O_BINARY 0 #endif