summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2012-01-18 14:11:07 +0000
committerJeremy Huddleston <jeremyhu@apple.com>2012-01-28 12:44:17 -0800
commit87b7bf875e0105924ae306e90ca79512d6c0cf47 (patch)
tree02317666302a80acbb341b3c4bacccc57b6d3f27 /src
parent6db1a2686f0f073438d36f5fa0f97b787842b0f2 (diff)
Fix build of xcb_auth.c with XDMCP on WIN32
Fix a redefinition problem which shows up when building for _WIN32 and libXdmcp is installed, so HASXDMAUTH is enabled It seems this is a special place in xcb as it uses other X11 library headers here If HASXDMAUTH is defined, include the wrapped windows.h before any header which includes it unwrapped, to avoid conflicts with types defined in X headers We need to include config.h and check HASXDMAUTH to avoid an unconditional dependency on x11proto headers In file included from install/include/X11/Xdmcp.h:19:0, from git/xcb/libxcb/src/xcb_auth.c:52: install/include/X11/Xmd.h:120:14: error: conflicting types for 'INT32' /usr/i686-pc-mingw32/sys-root/mingw/include/basetsd.h:54:13: note: previous declaration of 'INT32' was here install/include/X11/Xmd.h:143:15: error: conflicting types for 'BOOL' /usr/i686-pc-mingw32/sys-root/mingw/include/windef.h:234:17: note: previous declaration of 'BOOL' was here Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Diffstat (limited to 'src')
-rw-r--r--src/xcb_auth.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xcb_auth.c b/src/xcb_auth.c
index 21c26b8..a5b730c 100644
--- a/src/xcb_auth.c
+++ b/src/xcb_auth.c
@@ -25,6 +25,10 @@
/* Authorization systems for the X protocol. */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <assert.h>
#include <X11/Xauth.h>
#include <sys/param.h>
@@ -37,6 +41,11 @@
#endif
#ifdef _WIN32
+#ifdef HASXDMAUTH
+/* We must include the wrapped windows.h before any system header which includes
+ it unwrapped, to avoid conflicts with types defined in X headers */
+#include <X11/Xwindows.h>
+#endif
#include "xcb_windefs.h"
#else
#include <arpa/inet.h>