** Distinguishing OSes **
-MAC_OS Compiling for the `mac' window-system.
-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
+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.
-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.
HAVE_X11 Compile support for the X11 GUI.
HAVE_X_WINDOWS Compile support for X Window system
X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
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.
+LISTPROC A function that returns a list of PIDs of system processes.
+PROCATTR A function that returns attributes of a process.
+
** 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.
+
+** 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
** 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
-ADJUST_EXEC_HEADER
AIX
AMPERSAND_FULL_NAME
-A_TEXT_OFFSET
-A_TEXT_SEEK
-BAUD_CONVERT
BCOPY_DOWNWARD_SAFE
BCOPY_UPWARD_SAFE
BITS_PER_EMACS_INT
BROKEN_SIGIO
BROKEN_SIGPOLL
BROKEN_SIGPTY
-BROKEN_TIOCGETC
-BROKEN_TIOCGWINSZ
-BROKEN_XLISTFONTSWITHINFO
BSD4_2
BSD4_3
BSD_PGRPS
C_SWITCH_SYSTEM
C_SWITCH_SYSTEM_TEMACS
C_SWITCH_X_SYSTEM
-DATA_END
DATA_SEG_BITS
DATA_START
DBL_MIN_REPLACEMENT
DECLARE_GETPWUID_WITH_UID_T
-DEFAULT_ENTRY_ADDRESS
DEFAULT_SOUND_DEVICE
DEVICE_SEP
DIRECTORY_SEP
DONT_REOPEN_PTY
-DOT_GLOBAL_START
DOUG_LEA_MALLOC
DebPrint
EMACSDEBUG
EMACS_INT
EMACS_UINT
END_FILES_1
-EXEC_SUFFIXES
EXPLICIT_SIGN_EXTEND
FILE_SYSTEM_CASE
FIRST_PTY_LETTER
FLOAT_CHECK_DOMAIN
-FORCE_ALLOCA_H
FSCALE
-Fread
GAP_USE_BCOPY
GC_LISP_OBJECT_ALIGNMENT
GC_MARK_SECONDARY_STACK
GC_MARK_STACK
GC_SETJMP_WORKS
-GETPGRP_NO_ARG
GMALLOC_INHIBIT_VALLOC
GNU_LIBRARY_PENDING_OUTPUT_COUNT
GNU_LINUX
GNU_MALLOC
HAVE_AIX_SMT_EXP
HAVE_ALLOCA
-HAVE_AVAILABILITYMACROS_H
HAVE_BCMP
HAVE_BCOPY
HAVE_CBRT
HAVE_CLOSEDIR
HAVE_CRTIN
-HAVE_CRTN
HAVE_DUP2
HAVE_EUIDACCESS
-HAVE_FACES
HAVE_FMOD
HAVE_FPATHCONF
HAVE_FREXP
HAVE_STRING_H
HAVE_STRUCT_UTIMBUF
HAVE_SYSINFO
-HAVE_SYSVIPC
HAVE_SYSV_SIGPAUSE
HAVE_SYS_SELECT_H
HAVE_SYS_SYSTEMINFO_H
HAVE_TIMEVAL
HAVE_TM_ZONE
HAVE_TZSET
-HAVE_UNION_WAIT
HAVE_UNISTD_H
HAVE_UTIMES
HAVE_UTIME_H
HAVE_VOLATILE
-HAVE_WAIT_HEADER
HAVE_WINDOW_SYSTEM
HAVE_WORKING_VFORK
HAVE_XRMSETDATABASE
HPUX
-HPUX11
-HPUX_NET
IBMR2AIX
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_CARBON
LIBS_DEBUG
-LIBS_IMAGE
LIBS_MACHINE
LIBS_SYSTEM
LIBS_TERMCAP
LIB_MATH
LIB_MOTIF
LIB_STANDARD
-LIB_STANDARD_LIBSRC
LINKER
-LINK_CRTL_SHARE
-LINUX
-LINUX_SBRK_BUG
-LINUX_SIGNALS_VIA_CHARACTERS_DOES_WORK
+LINUX_VERSION_CODE
LISP_FLOAT_TYPE
LNOFLSH
LOAD_AVE_CVT
MAIL_USE_POP
MAIL_USE_SYSTEM_LOCK
MAXPATHLEN
-MAX_PRINT_CHARS
-MIN_PTY_KERNEL_VERSION
+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_PTEM_H
-NEED_SIOCTL
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_FILIO_H
-NO_HYPHENS_IN_FILENAMES
NO_MATHERR
NO_REMAP
NO_SHARED_LIBS
-NO_SIOCTL_H
NO_SOCK_SIGIO
NO_TERMIO
-NO_UNION_TYPE
NSIG
NSIG_MINIMUM
NULL
NULL_DEVICE
-N_BADMAG
-N_BSSADDR
-N_PAGSIZ
-N_SYMOFF
-N_TRELOFF
-N_TXTOFF
ORDINARY_LINK
OTHER_FILES
O_APPEND
O_WRONLY
PAGESIZE
PENDING_OUTPUT_COUNT
-PNTR_COMPARISON_TYPE
POSIX
POSIX_SIGNALS
PREFER_VSUSP
PTY_OPEN
PTY_TTY_NAME_SPRINTF
PURESIZE
-PURE_SEG_BITS
RUN_TIME_REMAP
SA_RESTART
SECTION_ALIGNMENT
SEPCHAR
SETPGRP_RELEASES_CTTY
SETUP_SLAVE_PTY
-SHARABLE_LIB_BUG
-SHMKEY
SIGALRM
SIGCHLD
SIGHUP
SIGKILL
SIGNALS_VIA_CHARACTERS
-SIGN_EXTEND_CHAR
SIGPIPE
SIGQUIT
SIGTRAP
SIGTYPE
-SOCKLEN_TYPE
SOLARIS2
-SOLARIS2_4
-SPECIAL_EMACS_INT
START_FILES
START_FILES_1
STDC_HEADERS
SYMS_SYSTEM
SYSTEM_PURESIZE_EXTRA
SYSTEM_TYPE
-SYSV_STREAMS
+SYSTEM_MALLOC
SYSV_SYSTEM_DIR
-S_IFLNK
Srandom
TAB3
TABDLY
TERM
-TERMCAP_NAME
TERMINFO
-TEXT_END
TEXT_START
THIS_IS_CONFIGURE
THIS_IS_MAKEFILE
USG
USG5
USG5_4
-USG_SHARED_LIBRARIES
USG_SUBTTY_WORKS
VALBITS
VIRT_ADDR_VARIES
-VMS
-WAITTYPE
-WAIT_USE_INT
WORDS_BIG_ENDIAN
WRETCODE
-X11R5_INHIBIT_I18N
XINT
XOS_NEEDS_TIME_H
XPNTR
XSET
XUINT
-X_DEFAULT_FONT
_AIX
_ARCH_PPC64
_CALLBACK_
_FILE_OFFSET_BITS
-_GNUC_
_LP64
_MALLOC_INTERNAL
_NAIVE_DOS_REGS
__FreeBSD__
__FreeBSD_version
__GNUC__
-__LITTLE_ENDIAN
+__GNU_LIBRARY__
+__GNUC_MINOR__
__NetBSD__
__OpenBSD__
__STDC__
const
creat
ctime
-drem
dup
dup2
edata
etext
execlp
execvp
-fcloseall
fdopen
-fgetchar
fileno
-flushall
fopen
-fputchar
free
fsync
ftruncate
getenv
getpid
getuid
-getw
gmtime
i386
index
lseek
m68k
malloc
-mips
mkdir
mktemp
open
pclose
pipe
popen
-putw
random
read
realloc
sleep
spawnve
srandom
-static
strdup
strerror
stricmp
strnicmp
strupr
-subprocesses
-sun
sys_nerr
system
temacs