+#if defined(_M_IX86) || defined(i386) || defined(__i386) || defined(__i386__)
+ #ifndef __INTEL__
+ #define __INTEL__
+ #endif
+#endif /* x86 */
+
+#if defined(_M_IA64)
+ #ifndef __IA64__
+ #define __IA64__
+ #endif
+#endif /* ia64 */
+
+#if defined(_M_MPPC) || defined(__PPC__) || defined(__ppc__)
+ #ifndef __POWERPC__
+ #define __POWERPC__
+ #endif
+#endif /* alpha */
+
+#if defined(_M_ALPHA) || defined(__AXP__)
+ #ifndef __ALPHA__
+ #define __ALPHA__
+ #endif
+#endif /* alpha */
+
+
+/*
+ adjust the Unicode setting: wxUSE_UNICODE should be defined as 0 or 1
+ and is used by wxWidgets, _UNICODE and/or UNICODE may be defined or used by
+ the system headers so bring these settings in sync
+ */
+
+/* set wxUSE_UNICODE to 1 if UNICODE or _UNICODE is defined */
+#if defined(_UNICODE) || defined(UNICODE)
+# undef wxUSE_UNICODE
+# define wxUSE_UNICODE 1
+#else /* !UNICODE */
+# ifndef wxUSE_UNICODE
+# define wxUSE_UNICODE 0
+# endif
+#endif /* UNICODE/!UNICODE */
+
+/* and vice versa: define UNICODE and _UNICODE if wxUSE_UNICODE is 1 */
+#if wxUSE_UNICODE
+# ifndef _UNICODE
+# define _UNICODE
+# endif
+# ifndef UNICODE
+# define UNICODE
+# endif
+#endif /* wxUSE_UNICODE */
+
+
+/*
+ test for old versions of Borland C, normally need at least 5.82, Turbo
+ explorer, available for free at http://www.turboexplorer.com/downloads
+*/
+
+
+/*
+ Older versions of Borland C have some compiler bugs that need
+ workarounds. Mostly pertains to the free command line compiler 5.5.1.
+*/
+#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551)
+ /*
+ The Borland free compiler is unable to handle overloaded enum
+ comparisons under certain conditions e.g. when any class has a
+ conversion ctor for an integral type and there's an overload to
+ compare between an integral type and that class type.
+ */
+# define wxCOMPILER_NO_OVERLOAD_ON_ENUM
+
+ /*
+ This is needed to overcome bugs in 5.5.1 STL, linking errors will
+ result if it is not defined.
+ */
+# define _RWSTD_COMPILE_INSTANTIATE
+
+ /*
+ Preprocessor in older Borland compilers have major problems
+ concatenating with ##. Specifically, if the string operands being
+ concatenated have special meaning (e.g. L"str", 123i64 etc)
+ then ## will not concatenate the operands correctly.
+
+ As a workaround, define wxPREPEND* and wxAPPEND* without using
+ wxCONCAT_HELPER.
+ */
+# define wxCOMPILER_BROKEN_CONCAT_OPER
+#endif /* __BORLANDC__ */