Mention new languages.
[emacs.git] / admin / CPP-DEFINES
blob56693064c985f857905ac20b8878b107031d6cfb
1 Here are some of the cpp macros used, together with some short explanation
2 of their use.  Feel free to add more macros and more categories.
4 ** Distinguishing OSes **
6 MAC_OS          Compiling for some version of Mac OS?
7 MAC_OS8         Compiling for Mac OS version 8.  Requires MAC_OS?
8 MAC_OSX         Compiling for Mac OS X?  Is that also valid for Darwin?
9 MAC_OS_X        ??  Apparently only used once in mac.c.
10 CYGWIN          Compiling the Cygwin port.
11 __CYGWIN__      Ditto
12 MSDOS           Compiling the MS-DOS port.
13 __MSDOS__       Ditto.
14 __DJGPP__       Major version number of the DJGPP library for the DOS port.
15 __DJGPP_MINOR__ Minor version number of the DJGPP library.
16 __GO32__        Compiling the DOS port with DJGPP v1.x (obsolete).
17 DOS_NT          Compiling for either the MS-DOS or native MS-Windows port.
18 WINDOWSNT       Compiling the native MS-Windows (W32) port.
19 __MINGW32__     Compiling the W32 port with the MinGW port of GCC.
20 _MSC_VER        Compiling the W32 port with the Microsoft C compiler.
22 ** Distinguishing GUIs **
24 HAVE_NTGUI      Use the native W32 GUI for windows, frames, menus&scrollbars.
25 HAVE_CARBON     Compile support for the Carbon GUI.  Requires MAC_OS?
26 HAVE_X11        Compile support for the X11 GUI.
27 HAVE_X_WINDOWS  Compile support for X Window system
28 X11             ??  Makefile.in suggests it's equivalent to HAVE_X11
29 USE_LUCID       Use the Lucid toolkit for menus&scrollbars.  Requires HAVE_X11.
30 USE_MOTIF       Use the Motif toolkit for menus&scrollbars.  Requires HAVE_X11.
31 USE_GTK         Use the Gtk   toolkit for menus&scrollbars.  Requires HAVE_X11.
33 ** Frame types **
35 FRAME_TERMCAP_P A tty (character terminal) frame.
36 FRAME_X_P       A frame on X Window system.
37 FRAME_MSDOS_P   An MS-DOS frame (used only by the DOS port).
38 FRAME_MAC_P     A Mac frame.
39 FRAME_W32_P     A frame using native MS-Windows GUI.
40 FRAME_WINDOW_P  A GUI frame (like X, w32, etc.)
42 ** Compile-time options **
43 REL_ALLOC       Compile in the relocatable memory allocator ralloc.c.
44 SYSTEM_MALLOC   Use the system library's malloc.
46 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250