** 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.
-USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
+DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
** 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.
+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.
HAVE_X11 Compile support for the X11 GUI.
HAVE_X_WINDOWS Compile support for X Window system
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.)
+** Support for accessing other processes on the system **
+
+HAVE_PROCFS The /proc filesystem is supported.
+
** 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.
+USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
+
+** System specific macros, decribed in detail in src/s/template.h
+BSTRING
+CLASH_DETECTION
+COFF
+FIRST_PTY_LETTER
+HAVE_PTYS
+HAVE_TERMIO
+HAVE_TERMIOS
+INTERRUPT_INPUT
+MAIL_USE_FLOCK
+NARROWPROTO
+NOMULTIPLEJOBS
+SEPCHAR
+SIGTYPE
+SYSTEM_TYPE
+USE_MMAP_FOR_BUFFERS
+
+** Machine specific macros, decribed in detail in src/m/template.h
+CANNOT_DUMP
+EXPLICIT_SIGN_EXTEND
+LOAD_AVE_CVT
+LOAD_AVE_TYPE
+NO_ARG_ARRAY
+NO_REMAP
+VIRT_ADDR_VARIES
+WORDS_BIG_ENDIAN
+
+** Not used anymore by any port, can be cleaned up
+NO_SOCK_SIGIO
+
+** Misc macros
+USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
** Replace, the definition is trivial: SWITCH_ENUM_CAST
AIX
AMPERSAND_FULL_NAME
-A_TEXT_OFFSET
-A_TEXT_SEEK
BCOPY_DOWNWARD_SAFE
BCOPY_UPWARD_SAFE
BITS_PER_EMACS_INT
BSD4_3
BSD_PGRPS
BSD_SYSTEM
-BSTRING
-CANNOT_DUMP
CLASH_DETECTION
-COFF
COFF_BSD_SYMBOLS
CRT0_DUMMIES
C_DEBUG_SWITCH
DEVICE_SEP
DIRECTORY_SEP
DONT_REOPEN_PTY
-DOT_GLOBAL_START
DOUG_LEA_MALLOC
DebPrint
EMACSDEBUG
EMACS_INT
EMACS_UINT
END_FILES_1
-EXPLICIT_SIGN_EXTEND
FILE_SYSTEM_CASE
-FIRST_PTY_LETTER
FLOAT_CHECK_DOMAIN
FSCALE
-Fread
GAP_USE_BCOPY
GC_LISP_OBJECT_ALIGNMENT
GC_MARK_SECONDARY_STACK
GNU_MALLOC
HAVE_AIX_SMT_EXP
HAVE_ALLOCA
-HAVE_AVAILABILITYMACROS_H
HAVE_BCMP
HAVE_BCOPY
HAVE_CBRT
HAVE_MOUSE
HAVE_PERROR
HAVE_PSTAT_GETDYNAMIC
-HAVE_PTYS
HAVE_PWD_H
HAVE_RANDOM
HAVE_RENAME
HAVE_SYS_TIMEB_H
HAVE_SYS_TIME_H
HAVE_TCATTR
-HAVE_TERMIO
-HAVE_TERMIOS
HAVE_TERMIOS_H
HAVE_TEXT_START
HAVE_TIMEVAL
IBMR2AIX
INHIBIT_X11R6_XIM
INTERNAL_TERMINAL
-INTERRUPT_INPUT
IS_ANY_SEP
IS_DIRECTORY_SEP
KERNEL_FILE
LD_SWITCH_SYSTEM_tmp
LD_SWITCH_X_DEFAULT
LIBS_DEBUG
-LIBS_IMAGE
LIBS_MACHINE
LIBS_SYSTEM
LIBS_TERMCAP
LIB_MOTIF
LIB_STANDARD
LINKER
-LINK_CRTL_SHARE
LINUX_VERSION_CODE
LISP_FLOAT_TYPE
LNOFLSH
-LOAD_AVE_CVT
-LOAD_AVE_TYPE
LOCALTIME_CACHE
-MAIL_USE_FLOCK
MAIL_USE_LOCKF
MAIL_USE_POP
MAIL_USE_SYSTEM_LOCK
MAXPATHLEN
-MAX_PRINT_CHARS
MIN_PTY_KERNEL_VERSION -- only used on Mac
MODE_LINE_BINARY_TEXT
-MULTI_KBOARD
MUST_UNDEF__STDC__
-NARROWPROTO
NEED_BSDTTY
NEED_ERRNO
NEED_LIBW
NEED_UNISTD_H
NLIST_STRUCT
-NOMULTIPLEJOBS
-NONSYSTEM_DIR_LIBRARY
NOT_C_CODE
NOT_USING_MOTIF
NO_ABORT
-NO_ARG_ARRAY
+NO_DIR_LIBRARY
NO_EDITRES
-NO_HYPHENS_IN_FILENAMES
NO_MATHERR
-NO_REMAP
NO_SHARED_LIBS
-NO_SOCK_SIGIO
NO_TERMIO
NSIG
NSIG_MINIMUM
NULL
NULL_DEVICE
-N_TXTOFF
ORDINARY_LINK
OTHER_FILES
O_APPEND
SA_RESTART
SECTION_ALIGNMENT
SEGMENT_MASK
-SEPCHAR
SETPGRP_RELEASES_CTTY
SETUP_SLAVE_PTY
-SHARABLE_LIB_BUG
SIGALRM
SIGCHLD
SIGHUP
STDC_HEADERS
SYMS_SYSTEM
SYSTEM_PURESIZE_EXTRA
-SYSTEM_TYPE
SYSTEM_MALLOC
SYSV_SYSTEM_DIR
Srandom
TABDLY
TERM
TERMINFO
-TEXT_END
TEXT_START
THIS_IS_CONFIGURE
THIS_IS_MAKEFILE
UNIX98_PTYS
USE_CRT_DLL
USE_MAC_IMAGE_IO
-USE_MMAP_FOR_BUFFERS
USE_TOOLKIT_SCROLL_BARS
USG
USG5
USG5_4
USG_SUBTTY_WORKS
VALBITS
-VIRT_ADDR_VARIES
-VMS
WORDS_BIG_ENDIAN
WRETCODE
XINT