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 the `mac' window-system.
7 MAC_OS8 Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
8 MAC_OSX Compiling for Mac OS X. Not bare Darwin.
9 CYGWIN Compiling the Cygwin port.
11 MSDOS Compiling the MS-DOS port.
13 __DJGPP__ Major version number of the DJGPP library for the DOS port.
14 __DJGPP_MINOR__ Minor version number of the DJGPP library.
15 __GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
16 DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
17 WINDOWSNT Compiling the native MS-Windows (W32) port.
18 __MINGW32__ Compiling the W32 port with the MinGW port of GCC.
19 _MSC_VER Compiling the W32 port with the Microsoft C compiler.
20 IRIX6_5 Compiling on Irix-6.5
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.
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 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
48 ** Temporarily put defines from removed files here, check if these macros need to be documented or removed because they are not used anymore. **
52 ADJUST_TEXT_SCNHDR_SIZE
76 DATA_SECTION_ALIGNMENT
80 DECLARE_GETPWUID_WITH_UID_T
118 HAVE_XSCREENNUMBEROFSCREEN
129 LD_SWITCH_SYSTEM_TEMACS
152 NONSYSTEM_DIR_LIBRARY
184 SIGNALS_VIA_CHARACTERS
248 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250