Here is the list of preprocessor symbols used in the wxWindows source grouped by category (and sorted by alphabetical order inside each category).
GUI system
Operating systems
Hardware architectures
Compilers
Miscellaneous
__WINDOWS__ | any Windows, yom may also use __WXMSW__ |
__WIN16__ | Win16 API |
__WIN32__ | Win32 API |
__WIN95__ | Windows 95 or NT 4.0 and above system (not NT 3.5x) |
__WXGTK__ | GTK |
__WXGTK12__ | GTK 1.2 or higher |
__WXGTK20__ | GTK 2.0 or higher |
__WXMOTIF__ | Motif |
__WXMAC__ | MacOS |
__WXMGL__ | SciTech Soft MGL (__WXUNIVERSAL__ will be also defined) |
__WXMSW__ | Any Windows |
__WXOS2__ | Identical to __WXPM__ |
__WXPM__ | OS/2 native Presentation Manager |
__WXSTUBS__ | Stubbed version ('template' wxWin implementation) |
__WXXT__ | Xt; mutually exclusive with WX_MOTIF, not implemented in wxWindows 2.x |
__WXX11__ | wxX11 (__WXUNIVERSAL__ will be also defined) |
__WXWINE__ | WINE (i.e. Win32 on Unix) |
__WXUNIVERSAL__ | wxUniversal port, always defined in addition to one of the symbols above so this should be tested first. |
__X__ | any X11-based GUI toolkit except GTK+ |
In fact, they should better all start with __WX instead of __ only. The only GUIs implemented for 2.0 are __WXGTK__, __WXMSW__ and __WXMOTIF__ yet. Any new ones, please start the define with __WX.
__APPLE__ | any Mac OS version |
__AIX__ | AIX |
__BSD__ | Any *BSD system |
__CYGWIN__ | Cygwin: Unix on Win32 |
__DARWIN__ | Mac OS X |
__DATA_GENERAL__ | DG-UX |
__DOS_GENERAL__ | DOS (used with wxMGL only) |
__FREEBSD__ | FreeBSD |
__HPUX__ | HP-UX (Unix) |
__LINUX__ | Linux |
__OSF__ | OSF/1 |
__SGI__ | IRIX |
__SOLARIS__ | Solaris |
__SUN__ | Any Sun |
__SUNOS__ | Sun OS |
__SVR4__ | SystemV R4 |
__SYSV__ | SystemV generic |
__ULTRIX__ | Ultrix |
__UNIX__ | any Unix |
__UNIX_LIKE__ | Unix, BeOS or VMS |
__VMS__ | VMS |
__WINDOWS__ | any Windows |
Note that not all of these symbols are always defined, it depends on the compiler used.
__ALPHA__ | DEC Alpha architecture |
__INTEL__ | Intel i386 or compatible |
__POWERPC__ | Motorola Power PC |
__BORLANDC__ | Borland C++ |
__DJGPP__ | DJGPP |
__GNUG__ | Gnu C++ on any platform |
__GNUWIN32__ | Gnu-Win32 compiler |
__MWERKS__ | CodeWarrior MetroWerks compiler |
__SUNCC__ | Sun CC |
__SYMANTECC__ | Symantec C++ |
__VISAGECPP__ | IBM Visual Age (OS/2) |
__VISUALC__ | Microsoft Visual C++ |
__XLC__ | AIX compiler |
__WATCOMC__ | Watcom C++ |
__WXDEBUG__ | defined in debug mode, undefined in release mode |
wxUSE_XXX | if defined as 1, feature XXX is active (the symbols of this form are always defined, use if and not ifdef to test for them) |