summaryrefslogtreecommitdiff
path: root/lib/win32/emu_winver.h
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2011-10-09 11:24:45 +0000
committerChris Wilson <chris+github@qwirx.com>2011-10-09 11:24:45 +0000
commit29a41bf9a00f560b4234a391b4ce3fe9028357fd (patch)
tree51f76c899842964ca308dc5817856453ca9c66bc /lib/win32/emu_winver.h
parent117e323ab0782b8ed197805f764f99a7aaea8413 (diff)
Split Win32 defines out of emu.h to enable Boxi to include them before
wx/wx.h (to set UNICODE properly) without also #including winnt.h before UNICODE is set properly.
Diffstat (limited to 'lib/win32/emu_winver.h')
-rw-r--r--lib/win32/emu_winver.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/win32/emu_winver.h b/lib/win32/emu_winver.h
new file mode 100644
index 00000000..92060150
--- /dev/null
+++ b/lib/win32/emu_winver.h
@@ -0,0 +1,37 @@
+#ifndef _EMU_WINVER_H
+#define _EMU_WINVER_H
+
+// set up to include the necessary parts of Windows headers
+
+#define WIN32_LEAN_AND_MEAN
+
+#ifndef __MSVCRT_VERSION__
+#define __MSVCRT_VERSION__ 0x0601
+#endif
+
+// We need WINVER at least 0x0500 to use GetFileSizeEx on Cygwin/MinGW,
+// and 0x0501 for FindFirstFile(W) for opendir/readdir.
+//
+// WIN32_WINNT versions 0x0600 (Vista) and higher enable WSAPoll() in
+// winsock2.h, whose struct pollfd conflicts with ours below, so for
+// now we just set it lower than that, to Windows XP (0x0501).
+
+#ifdef WINVER
+# if WINVER != 0x0501
+// provoke a redefinition warning to track down the offender
+# define WINVER 0x0501
+# error Must include emu.h before setting WINVER
+# endif
+#endif
+#define WINVER 0x0501
+
+#ifdef _WIN32_WINNT
+# if _WIN32_WINNT != 0x0501
+// provoke a redefinition warning to track down the offender
+# define _WIN32_WINNT 0x0501
+# error Must include emu.h before setting _WIN32_WINNT
+# endif
+#endif
+#define _WIN32_WINNT 0x0501
+
+#endif // _EMU_WINVER_H