aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac12
-rw-r--r--modules/windows-sens/evolution-windows-sens.c35
2 files changed, 34 insertions, 13 deletions
diff --git a/configure.ac b/configure.ac
index 0cb40c00eb..3a1cd0d231 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1160,6 +1160,18 @@ AC_MSG_CHECKING([if Windows SENS support is enabled])
AC_MSG_RESULT([$enable_sens])
if test "$enable_sens" = yes; then
SENS_LIBS="-lole32 -loleaut32 -luuid -lrpcrt4"
+ AC_CHECK_HEADER([eventsys.h],
+ [AC_DEFINE([HAVE_EVENTSYS_H], 1, [Have <eventsys.h>])],,
+ [[ #if HAVE_EVENTSYS_H
+ #include <eventsys.h>
+ #endif
+ ]])
+ AC_CHECK_HEADER([sensevts.h],
+ [AC_DEFINE([HAVE_SENSEVTS_H], 1, [Have <sensevts.h>])],,
+ [[ #if HAVE_SENSEVTS_H
+ #include <sensevts.h>
+ #endif
+ ]])
AC_SUBST(HAVE_SENS)
AC_SUBST(SENS_LIBS)
fi
diff --git a/modules/windows-sens/evolution-windows-sens.c b/modules/windows-sens/evolution-windows-sens.c
index 580bb1d9bd..d228fc02ac 100644
--- a/modules/windows-sens/evolution-windows-sens.c
+++ b/modules/windows-sens/evolution-windows-sens.c
@@ -20,26 +20,20 @@
#error This file cannot be built with C++ compiler
#endif
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#define INITGUID
#include <windows.h>
#include <rpc.h>
-#if defined(_MSC_VER) || defined(__MINGW64_VERSION_MAJOR)
-
+#ifdef HAVE_EVENTSYS_H
#include <eventsys.h>
-#include <sensevts.h>
-
#else
/* Extract relevant typedefs from mingw-w64 headers */
-typedef struct {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwOutSpeed;
- DWORD dwInSpeed;
-} *LPSENS_QOCINFO;
-
typedef struct IEnumEventObject IEnumEventObject;
const IID IID_IEnumEventObject;
@@ -159,6 +153,23 @@ struct IEventSubscription {
CONST_VTBL struct IEventSubscriptionVtbl *lpVtbl;
};
+#define PROGID_EventSubscription OLESTR("EventSystem.EventSubscription")
+
+#endif
+
+#ifdef HAVE_SENSEVTS_H
+#include <sensevts.h>
+#else
+
+/* Extract relevant typedefs from mingw-w64 headers */
+
+typedef struct {
+ DWORD dwSize;
+ DWORD dwFlags;
+ DWORD dwOutSpeed;
+ DWORD dwInSpeed;
+} *LPSENS_QOCINFO;
+
typedef struct ISensNetwork ISensNetwork;
const IID IID_ISensNetwork;
@@ -182,8 +193,6 @@ struct ISensNetwork {
CONST_VTBL struct ISensNetworkVtbl *lpVtbl;
};
-#define PROGID_EventSubscription OLESTR("EventSystem.EventSubscription")
-
#endif
#include <shell/e-shell.h>