-// OS: first test for generic Unix defines, then for particular flavours and
-// finally for Unix-like systems
-#if defined(__UNIX__) || defined(__unix) || defined(__unix__) || \
- defined(____SVR4____) || defined(__LINUX__) || defined(__sgi) || \
- defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \
- defined(__EMX__) || defined(__VMS) || defined(__BEOS__)
-
- #define __UNIX_LIKE__
-
- // Helps SGI compilation, apparently
- #ifdef __SGI__
- #ifdef __GNUG__
- #define __need_wchar_t
- #else // !gcc
- // Note I use the term __SGI_CC__ for both cc and CC, its not a good
- // idea to mix gcc and cc/CC, the name mangling is different
- #define __SGI_CC__
- #endif // gcc/!gcc
- #endif // SGI
-
- #if defined(sun) || defined(__SUN__)
- #ifndef __GNUG__
- #ifndef __SUNCC__
- #define __SUNCC__
- #endif // Sun CC
- #endif
- #endif // Sun
-
- #ifdef __EMX__
- #define OS2EMX_PLAIN_CHAR
- #endif
-
- // define __HPUX__ for HP-UX where standard macro is __hpux
- #if defined(__hpux) && !defined(__HPUX__)
- #define __HPUX__
- #endif // HP-UX
-
- #if defined(__APPLE__)
- // MacOS X
- #ifndef __WXMAC__
- #define __WXMAC__
- #endif
- #ifndef __WXMAC_X__
- // This define really should not be necessary since __WXMAC__
- // combined with __UNIX__ is sufficient to differentiate
- // Classic Mac OS from Mac OS X. However, some code has been
- // added to workaround defects(?) in the bundled gcc compiler
- // and these corrections are identified by __WXMAC_X__
- #define __WXMAC_X__
- #endif
-
- #include <Carbon/Carbon.h>
- #endif // __APPLE__
-#elif defined(applec) || \
- defined(THINK_C) || \
- (defined(__MWERKS__) && !defined(__INTEL__))
- // MacOS
-#elif defined(__WXMAC__) && defined(__APPLE__)
- // MacOS X
- #define __UNIX_LIKE__
-
- #ifndef __WXMAC__
- #define __WXMAC__
- #endif
- #ifndef __WXMAC_X__
- // This define really should not be necessary since __WXMAC__
- // combined with __UNIX__ is sufficient to differentiate
- // Classic Mac OS from Mac OS X. However, some code has been
- // added to workaround defects(?) in the bundled gcc compiler
- // and these corrections are identified by __WXMAC_X__
- #define __WXMAC_X__
- #endif
-
- #include <Carbon/Carbon.h>
-#elif defined(__OS2__)
- #if defined(__IBMCPP__)
- #define __VISAGEAVER__ __IBMCPP__
- #endif
- #ifndef __WXOS2__
- #define __WXOS2__
- #endif
- #ifndef __WXPM__
- #define __WXPM__
- #endif
-
- // Place other OS/2 compiler environment defines here
- #if defined(__VISAGECPP__)
- // VisualAge is the only thing that understands _Optlink
- #define LINKAGEMODE _Optlink
- #endif
- #define wxSIZE_T_IS_UINT
-#else // Windows
- #ifndef __WINDOWS__
- #define __WINDOWS__
- #endif // Windows
-
- // to be changed for Win64!
- #ifndef __WIN32__
- #define __WIN16__
- #endif
-
- // define another standard symbol for Microsoft Visual C++: the standard one
- // (_MSC_VER) is also defined by Metrowerks compiler
- #if defined(_MSC_VER) && !defined(__MWERKS__)
- #define __VISUALC__ _MSC_VER
- #elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
- #define __BORLANDC__
- #elif defined(__WATCOMC__)
- #elif defined(__SC__)
- #define __SYMANTECC__
- #endif // compiler
-
- // size_t is the same as unsigned int for all Windows compilers we know,
- // so define it if it hadn't been done by configure yet
- #if !defined(wxSIZE_T_IS_UINT) && !defined(wxSIZE_T_IS_ULONG)
- #define wxSIZE_T_IS_UINT
- #endif
-#endif // OS
-
-// if we're on a Unix system but didn't use configure (so that setup.h didn't
-// define __UNIX__), do define __UNIX__ now
-#if !defined(__UNIX__) && defined(__UNIX_LIKE__)
- #define __UNIX__
-#endif // Unix
-
-// LINKAGEMODE mode is empty for everyting except OS/2
-#ifndef LINKAGEMODE
- #define LINKAGEMODE
-#endif // LINKAGEMODE
-