# ifndef __WXMSW__
# define __WXMSW__
# endif
-
-# ifndef _WIN32
-# define _WIN32
-# endif
-
-# ifndef WIN32
-# define WIN32
-# endif
#endif
#if defined(__PALMOS__)
# ifndef __WXMSW__
# define __WXMSW__
# endif
-
-# ifndef __WIN32__
-# define __WIN32__
-# endif
#endif /* Win32 */
-#if defined(__WXMSW__) || defined(__WIN32__)
+#if defined(__WXMSW__)
# if !defined(__WINDOWS__)
# define __WINDOWS__
# endif
-#endif
+
+# ifndef _WIN32
+# define _WIN32
+# endif
+
+# ifndef WIN32
+# define WIN32
+# endif
+
+# ifndef __WIN32__
+# define __WIN32__
+# endif
+#endif /* __WXMSW__ */
/* detect MS SmartPhone */
#if defined( WIN32_PLATFORM_WFSP )
/* According to Stefan even ancient Mac compilers defined __BIG_ENDIAN__ */
# warning "Compiling wxMac with probably wrong endianness"
#endif
-
+/* also the 32/64 bit universal builds must be handled accordingly */
+#ifdef __DARWIN__
+# ifdef __LP64__
+# undef SIZEOF_VOID_P
+# undef SIZEOF_LONG
+# undef SIZEOF_SIZE_T
+# define SIZEOF_VOID_P 8
+# define SIZEOF_LONG 8
+# define SIZEOF_SIZE_T 8
+# else
+# undef SIZEOF_VOID_P
+# undef SIZEOF_LONG
+# undef SIZEOF_SIZE_T
+# define SIZEOF_VOID_P 4
+# define SIZEOF_LONG 4
+# define SIZEOF_SIZE_T 4
+# endif
+#endif
/*
check the consistency of the settings in setup.h: note that this must be
done after setting wxUSE_UNICODE correctly as it is used in wx/chkconf.h