-/* Modified JACS 23/4/99. 1200 means VC++ 6 */
-#if !defined(XMD_H) && !(_MSC_VER >= 1200) /* X11/xmd.h correctly defines INT32 */
-typedef long INT32;
+/* you may define INT32_DEFINED if it is already defined somewhere */
+#ifndef INT32_DEFINED
+#ifdef XMD_H
+/* X11/xmd.h correctly defines INT32 */
+#define INT32_DEFINED
+/* Note: GnuPRO 00r1 should be tested because it does NOT define INT32 in windows.h */
+/* For this compiler, set the following test to 0. */
+#elif (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550) \
+ || wxCHECK_W32API_VERSION( 0, 5 ) \
+ || ((defined(__MINGW32__) || defined(__CYGWIN__)) \
+ && ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>=95)))) \
+ || (defined(__MWERKS__) && defined(__WXMSW__))
+
+/* INT32 is defined in windows.h for these compilers */
+#define INT32_DEFINED
+#include <windows.h>