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.
21 ** Distinguishing GUIs **
23 HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
24 HAVE_CARBON Compile support for the Carbon GUI. Requires MAC_OS?
25 HAVE_X11 Compile support for the X11 GUI.
26 HAVE_X_WINDOWS Compile support for X Window system
27 X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
28 USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
29 USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
30 USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
34 FRAME_TERMCAP_P A tty (character terminal) frame.
35 FRAME_X_P A frame on X Window system.
36 FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
37 FRAME_MAC_P A Mac frame.
38 FRAME_W32_P A frame using native MS-Windows GUI.
39 FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
41 ** Compile-time options **
42 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
43 SYSTEM_MALLOC Use the system library's malloc.
45 ** All references to these symbols should be removed, all their definitions are gone **
50 ** Temporarily put defines from removed files here, check if these macros need to be documented or removed because they are not used anymore. **
56 ADJUST_TEXT_SCNHDR_SIZE
84 DATA_SECTION_ALIGNMENT
88 DECLARE_GETPWUID_WITH_UID_T
110 HAVE_BROKEN_INET_ADDR
136 HAVE_XSCREENNUMBEROFSCREEN
155 LD_SWITCH_SYSTEM_TEMACS
189 NONSYSTEM_DIR_LIBRARY
197 NO_SOCKETS_IN_FILE_SYSTEM
230 SIGNALS_VIA_CHARACTERS
303 internal_with_output_to_temp_buffer
316 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250