## Preprocesser symbols defined by wxWindows

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

### GUI system

__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.

### Operating systems

__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

### Hardware architectures

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

### Compilers

__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++

### Miscellaneous

__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)