+// first define Windows symbols if they're not defined on the command line: we
+// can autodetect everything we need if _WIN32 is defined
+#if defined(_WIN32) || defined(WIN32) || defined(__NT__)
+ #ifndef __WXMSW__
+ #define __WXMSW__
+ #endif
+
+ #ifndef __WIN32__
+ #define __WIN32__
+ #endif
+
+ // Win95 means Win95-style UI, i.e. Win9x/NT 4+
+ #if !defined(__WIN95__) && defined(WINVER) && (WINVER >= 0x0400)
+ #define __WIN95__
+ #endif
+#endif // Win32
+
+#ifdef __WXWINE__
+ #ifndef __WIN32__
+ #define __WIN32__
+ #endif
+ #ifndef __WIN95__
+ #define __WIN95__
+ #endif
+ #ifndef STRICT
+ #define STRICT
+ #endif
+#endif // WINE
+
+#if defined(TWIN32) && !defined(__TWIN32__)
+ #define __TWIN32__
+#endif // Twin32
+
+#include "wx/setup.h"
+
+// old C++ headers (like <iostream.h>) declare classes in the global namespace
+// while the new, standard ones (like <iostream>) do it in std:: namespace
+//
+// using this macro allows constuctions like "wxSTD iostream" to work in
+// either case
+#if !wxUSE_IOSTREAMH
+ #define wxSTD std::
+#else
+ #define wxSTD
+#endif
+
+// just in case they were defined in setup.h
+#ifdef PACKAGE
+#undef PACKAGE
+#endif
+
+#ifdef VERSION
+#undef VERSION
+#endif
+