** Distinguishing OSes **
-MAC_OS8 Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
-MAC_OSX Compiling for Mac OS X. Not bare Darwin.
CYGWIN Compiling the Cygwin port.
__CYGWIN__ Ditto
MSDOS Compiling the MS-DOS port.
WINDOWSNT Compiling the native MS-Windows (W32) port.
__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
_MSC_VER Compiling the W32 port with the Microsoft C compiler.
-IRIX6_5 Compiling on Irix-6.5
USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
** Distinguishing GUIs **
HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
-MAC_OS Compiling for the `mac' window-system.
-HAVE_CARBON Compile support for the Carbon GUI. Requires MAC_OS?
HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
FRAME_TERMCAP_P A tty (character terminal) frame.
FRAME_X_P A frame on X Window system.
FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
-FRAME_MAC_P A Mac frame.
FRAME_W32_P A frame using native MS-Windows GUI.
FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
** Compile-time options **
REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
SYSTEM_MALLOC Use the system library's malloc.
+subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
** Replace, the definition is trivial: SWITCH_ENUM_CAST
** Defines from src/m/*.h and src/s/*.h. Some of these might not be used in the code anymore, so they can be removed. The HAVE_* definitions are probably handled by autoconf, so it might be possible to just remove them from src/[sm]/*.h.
-ADDR_CORRECT
AIX
AMPERSAND_FULL_NAME
-A_TEXT_OFFSET
-A_TEXT_SEEK
BCOPY_DOWNWARD_SAFE
BCOPY_UPWARD_SAFE
BITS_PER_EMACS_INT
C_SWITCH_SYSTEM
C_SWITCH_SYSTEM_TEMACS
C_SWITCH_X_SYSTEM
-DATA_END
DATA_SEG_BITS
DATA_START
DBL_MIN_REPLACEMENT
DEVICE_SEP
DIRECTORY_SEP
DONT_REOPEN_PTY
-DOT_GLOBAL_START
DOUG_LEA_MALLOC
DebPrint
EMACSDEBUG
INHIBIT_X11R6_XIM
INTERNAL_TERMINAL
INTERRUPT_INPUT
-IRIS
-IRIS_4D
IS_ANY_SEP
IS_DIRECTORY_SEP
KERNEL_FILE
LDAV_SYMBOL
LD_SWITCH_MACHINE
LD_SWITCH_MACHINE_TEMACS
-LD_SWITCH_SITE
LD_SWITCH_SYSTEM
-LD_SWITCH_SYSTEM_1
LD_SWITCH_SYSTEM_TEMACS
LD_SWITCH_SYSTEM_tmp
LD_SWITCH_X_DEFAULT
LIBS_DEBUG
-LIBS_IMAGE
LIBS_MACHINE
LIBS_SYSTEM
LIBS_TERMCAP
LIB_STANDARD
LINKER
LINK_CRTL_SHARE
-LINUX_SBRK_BUG
LINUX_VERSION_CODE
LISP_FLOAT_TYPE
LNOFLSH
NSIG_MINIMUM
NULL
NULL_DEVICE
-N_TXTOFF
ORDINARY_LINK
OTHER_FILES
O_APPEND
SYMS_SYSTEM
SYSTEM_PURESIZE_EXTRA
SYSTEM_TYPE
+SYSTEM_MALLOC
SYSV_SYSTEM_DIR
Srandom
TAB3
__FreeBSD__
__FreeBSD_version
__GNUC__
+__GNU_LIBRARY__
__GNUC_MINOR__
__NetBSD__
__OpenBSD__
lseek
m68k
malloc
-mips
mkdir
mktemp
open
stricmp
strnicmp
strupr
-subprocesses
-sun
sys_nerr
system
temacs