** Distinguishing OSes **
-MAC_OS Compiling for some version of Mac OS?
-MAC_OS8 Compiling for Mac OS version 8. Requires MAC_OS?
-MAC_OSX Compiling for Mac OS X? Is that also valid for Darwin?
-MAC_OS_X ?? Apparently only used once in mac.c.
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.
+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.
+
** 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
+
+** 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.
+
+
+AIX
+AMPERSAND_FULL_NAME
+BCOPY_DOWNWARD_SAFE
+BCOPY_UPWARD_SAFE
+BITS_PER_EMACS_INT
+BITS_PER_LONG
+BROKEN_DATAGRAM_SOCKETS
+BROKEN_FIONREAD
+BROKEN_GET_CURRENT_DIR_NAME
+BROKEN_NON_BLOCKING_CONNECT
+BROKEN_PTY_READ_AFTER_EAGAIN
+BROKEN_SA_RESTART
+BROKEN_SIGAIO
+BROKEN_SIGIO
+BROKEN_SIGPOLL
+BROKEN_SIGPTY
+BSD4_2
+BSD4_3
+BSD_PGRPS
+BSD_SYSTEM
+CLASH_DETECTION
+COFF_BSD_SYMBOLS
+CRT0_DUMMIES
+C_DEBUG_SWITCH
+C_SWITCH_MACHINE
+C_SWITCH_SYSTEM
+C_SWITCH_SYSTEM_TEMACS
+C_SWITCH_X_SYSTEM
+DATA_SEG_BITS
+DATA_START
+DBL_MIN_REPLACEMENT
+DECLARE_GETPWUID_WITH_UID_T
+DEFAULT_SOUND_DEVICE
+DEVICE_SEP
+DIRECTORY_SEP
+DONT_REOPEN_PTY
+DOUG_LEA_MALLOC
+DebPrint
+EMACSDEBUG
+EMACS_CONFIGURATION
+EMACS_CONFIG_OPTIONS
+EMACS_INT
+EMACS_UINT
+END_FILES_1
+FILE_SYSTEM_CASE
+FLOAT_CHECK_DOMAIN
+FSCALE
+GAP_USE_BCOPY
+GC_LISP_OBJECT_ALIGNMENT
+GC_MARK_SECONDARY_STACK
+GC_MARK_STACK
+GC_SETJMP_WORKS
+GMALLOC_INHIBIT_VALLOC
+GNU_LIBRARY_PENDING_OUTPUT_COUNT
+GNU_LINUX
+GNU_MALLOC
+HAVE_AIX_SMT_EXP
+HAVE_ALLOCA
+HAVE_BCMP
+HAVE_BCOPY
+HAVE_CBRT
+HAVE_CLOSEDIR
+HAVE_CRTIN
+HAVE_DUP2
+HAVE_EUIDACCESS
+HAVE_FMOD
+HAVE_FPATHCONF
+HAVE_FREXP
+HAVE_FSYNC
+HAVE_FTIME
+HAVE_GETCWD
+HAVE_GETDOMAINNAME
+HAVE_GETHOSTNAME
+HAVE_GETLOADAVG
+HAVE_GETPAGESIZE
+HAVE_GETPT
+HAVE_GETTIMEOFDAY
+HAVE_GETWD
+HAVE_H_ERRNO
+HAVE_INDEX
+HAVE_INET_SOCKETS
+HAVE_INVERSE_HYPERBOLIC
+HAVE_LIB64_DIR
+HAVE_LIBKSTAT
+HAVE_LIBNCURSES
+HAVE_LIBPTHREADS
+HAVE_LIBXMU
+HAVE_LIMITS_H
+HAVE_LINUX_VERSION_H
+HAVE_LOGB
+HAVE_LONG_FILE_NAMES
+HAVE_LRAND48
+HAVE_MENUS
+HAVE_MKDIR
+HAVE_MKTIME
+HAVE_MOUSE
+HAVE_PERROR
+HAVE_PSTAT_GETDYNAMIC
+HAVE_PWD_H
+HAVE_RANDOM
+HAVE_RENAME
+HAVE_RES_INIT
+HAVE_RINDEX
+HAVE_RINT
+HAVE_RMDIR
+HAVE_SELECT
+HAVE_SETLOCALE
+HAVE_SETPGID
+HAVE_SETRLIMIT
+HAVE_SETSID
+HAVE_SHUTDOWN
+HAVE_SOCKETS
+HAVE_SOUND
+HAVE_STDLIB_H
+HAVE_STRERROR
+HAVE_STRFTIME
+HAVE_STRING_H
+HAVE_STRUCT_UTIMBUF
+HAVE_SYSINFO
+HAVE_SYSV_SIGPAUSE
+HAVE_SYS_SELECT_H
+HAVE_SYS_SYSTEMINFO_H
+HAVE_SYS_TIMEB_H
+HAVE_SYS_TIME_H
+HAVE_TCATTR
+HAVE_TERMIOS_H
+HAVE_TEXT_START
+HAVE_TIMEVAL
+HAVE_TM_ZONE
+HAVE_TZSET
+HAVE_UNISTD_H
+HAVE_UTIMES
+HAVE_UTIME_H
+HAVE_VOLATILE
+HAVE_WINDOW_SYSTEM
+HAVE_WORKING_VFORK
+HAVE_XRMSETDATABASE
+HPUX
+IBMR2AIX
+INHIBIT_X11R6_XIM
+INTERNAL_TERMINAL
+IS_ANY_SEP
+IS_DIRECTORY_SEP
+KERNEL_FILE
+LDAV_SYMBOL
+LD_SWITCH_MACHINE
+LD_SWITCH_MACHINE_TEMACS
+LD_SWITCH_SYSTEM
+LD_SWITCH_SYSTEM_TEMACS
+LD_SWITCH_SYSTEM_tmp
+LD_SWITCH_X_DEFAULT
+LIBS_DEBUG
+LIBS_MACHINE
+LIBS_SYSTEM
+LIBS_TERMCAP
+LIBX11_SYSTEM
+LIBXMU
+LIB_GCC
+LIB_MATH
+LIB_MOTIF
+LIB_STANDARD
+LINKER
+LINUX_VERSION_CODE
+LISP_FLOAT_TYPE
+LNOFLSH
+LOCALTIME_CACHE
+MAIL_USE_LOCKF
+MAIL_USE_POP
+MAIL_USE_SYSTEM_LOCK
+MAXPATHLEN
+MIN_PTY_KERNEL_VERSION -- only used on Mac
+MODE_LINE_BINARY_TEXT
+MUST_UNDEF__STDC__
+NEED_BSDTTY
+NEED_ERRNO
+NEED_LIBW
+NEED_UNISTD_H
+NLIST_STRUCT
+NOT_C_CODE
+NOT_USING_MOTIF
+NO_ABORT
+NO_DIR_LIBRARY
+NO_EDITRES
+NO_MATHERR
+NO_SHARED_LIBS
+NO_TERMIO
+NSIG
+NSIG_MINIMUM
+NULL
+NULL_DEVICE
+ORDINARY_LINK
+OTHER_FILES
+O_APPEND
+O_BINARY
+O_CREAT
+O_EXCL
+O_RDONLY
+O_RDWR
+O_TEXT
+O_TRUNC
+O_WRONLY
+PAGESIZE
+PENDING_OUTPUT_COUNT
+POSIX
+POSIX_SIGNALS
+PREFER_VSUSP
+PTY_ITERATION
+PTY_NAME_SPRINTF
+PTY_OPEN
+PTY_TTY_NAME_SPRINTF
+PURESIZE
+RUN_TIME_REMAP
+SA_RESTART
+SECTION_ALIGNMENT
+SEGMENT_MASK
+SETPGRP_RELEASES_CTTY
+SETUP_SLAVE_PTY
+SIGALRM
+SIGCHLD
+SIGHUP
+SIGKILL
+SIGNALS_VIA_CHARACTERS
+SIGPIPE
+SIGQUIT
+SIGTRAP
+SIGTYPE
+SOLARIS2
+START_FILES
+START_FILES_1
+STDC_HEADERS
+SYMS_SYSTEM
+SYSTEM_PURESIZE_EXTRA
+SYSTEM_MALLOC
+SYSV_SYSTEM_DIR
+Srandom
+TAB3
+TABDLY
+TERM
+TERMINFO
+TEXT_START
+THIS_IS_CONFIGURE
+THIS_IS_MAKEFILE
+TIME_WITH_SYS_TIME
+TIOCSIGSEND
+TM_IN_SYS_TIME
+ULIMIT_BREAK_VALUE
+UNEXEC
+UNIX98_PTYS
+USE_CRT_DLL
+USE_MAC_IMAGE_IO
+USE_TOOLKIT_SCROLL_BARS
+USG
+USG5
+USG5_4
+USG_SUBTTY_WORKS
+VALBITS
+WORDS_BIG_ENDIAN
+WRETCODE
+XINT
+XOS_NEEDS_TIME_H
+XPNTR
+XSET
+XUINT
+_AIX
+_ARCH_PPC64
+_CALLBACK_
+_FILE_OFFSET_BITS
+_LP64
+_MALLOC_INTERNAL
+_NAIVE_DOS_REGS
+_VARARGS_
+_WINSOCKAPI_
+_WINSOCK_H
+__ELF__
+__FreeBSD__
+__FreeBSD_version
+__GNUC__
+__GNU_LIBRARY__
+__GNUC_MINOR__
+__NetBSD__
+__OpenBSD__
+__STDC__
+__arch64__
+__cplusplus
+__hpux
+__ia64__
+__linux__
+__mc68000__
+__mips__
+_longjmp
+_setjmp
+_start
+abort
+access
+alloca
+bcmp
+bcopy
+brk
+bzero
+calloc
+chdir
+chmod
+chown
+close
+const
+creat
+ctime
+dup
+dup2
+edata
+emacs
+etext
+execlp
+execvp
+fdopen
+fileno
+fopen
+free
+fsync
+ftruncate
+fwrite
+getdefdir
+getdisk
+getenv
+getpid
+getuid
+gmtime
+i386
+index
+init_process
+isatty
+kill
+link
+linux
+localtime
+logb
+lseek
+m68k
+malloc
+mkdir
+mktemp
+open
+pclose
+pipe
+popen
+random
+read
+realloc
+rename
+rindex
+rmdir
+sbrk
+select
+sigmask
+signal
+sigsetmask
+sleep
+spawnve
+srandom
+strdup
+strerror
+stricmp
+strnicmp
+strupr
+sys_nerr
+system
+temacs
+tzname
+tzset
+umask
+unix
+unlink
+utimbuf
+utime
+vfork
+wait
+write
+xfree
# arch-tag: bc80061a-1168-4911-9766-46aaf2640250