1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-17 10:06:13 +00:00
emacs/admin/CPP-DEFINES
2008-02-09 07:07:53 +00:00

316 lines
5.3 KiB
Plaintext

Here are some of the cpp macros used, together with some short explanation
of their use. Feel free to add more macros and more categories.
** 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.
__MSDOS__ Ditto.
__DJGPP__ Major version number of the DJGPP library for the DOS port.
__DJGPP_MINOR__ Minor version number of the DJGPP library.
__GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
DOS_NT Compiling for either the MS-DOS or native MS-Windows 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.
** 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_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
USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
** Frame types **
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.
** All references to these symbols should be removed, all their definitions are gone **
NU
romp
** Temporarily put defines from removed files here, check if these macros need to be documented or removed because they are not used anymore. **
ABORT_RETURN_TYPE
ADDR_CORRECT
ADJUST_EXEC_HEADER
ADJUST_TEXTBASE
ADJUST_TEXT_SCNHDR_SIZE
A_TEXT_OFFSET
A_TEXT_SEEK
BAUD_CONVERT
BROKEN_FIONREAD
BROKEN_SELECT_NON_X
BROKEN_SIGIO
BROKEN_TIOCGETC
BROKEN_TIOCGWINSZ
BSD4_2
BSD4_3
BSD4_4
BSD_PGRPS
BSD_SYSTEM
BSTRING
CANNOT_DUMP
CLASH_DETECTION
COFF
COFF_BSD_SYMBOLS
CRT0_COMPILE
CRT0_DUMMIES
C_DEBUG_SWITCH
C_OPTIMIZE_SWITCH
C_SWITCH_ASM
C_SWITCH_MACHINE
C_SWITCH_SYSTEM
DATA_END
DATA_SECTION_ALIGNMENT
DATA_SEG_BITS
DATA_START
DEBUG
DECLARE_GETPWUID_WITH_UID_T
DEFAULT_ENTRY_ADDRESS
DONT_NEED_ENVIRON
DOT_GLOBAL_START
DUMMIES
EEOF
ELF
EXEC_HDR_TYPE
EXEC_MAGIC
EXEC_PAGESIZE
EXPLICIT_SIGN_EXTEND
EXTRA_INITIALIZE
FIRST_PTY_LETTER
FREE_RETURN_TYPE
FSCALE
F_SETOWN_BUG
F_SETOWN_SOCK_NEG
GC_MARK_STACK
GC_SETJMP_WORKS
GETPGRP_NO_ARG
GNU_MALLOC
HAVE_ALLOCA
HAVE_BROKEN_INET_ADDR
HAVE_CLOSEDIR
HAVE_CONFIG_H
HAVE_CRTN
HAVE_GETTIMEOFDAY
HAVE_INET_SOCKETS
HAVE_LIBDNET
HAVE_LIBINTL
HAVE_LIBRESOLV
HAVE_PTYS
HAVE_SELECT
HAVE_SOCKETS
HAVE_SYSVIPC
HAVE_SYSV_SIGPAUSE
HAVE_SYS_WAIT_H
HAVE_TCATTR
HAVE_TERMIO
HAVE_TERMIOS
HAVE_TEXT_START
HAVE_UNION_WAIT
HAVE_UNISTD_H
HAVE_UNIX_DOMAIN
HAVE_UTIMES
HAVE_WAIT_HEADER
HAVE_X11R6
HAVE_XFREE386
HAVE_XSCREENNUMBEROFSCREEN
HAVE_X_WINDOWS
HEADER_INCL_IN_TEXT
IBMAIX
INHIBIT_X11R6_XIM
INIT_BAUD_RATE
INTEL386
INTERRUPT_INPUT
IN_UNEXEC
IRIS
IRIS_4D
IRIX6_5
IRIX_FORCE_32_BITS
KEEP_OLD_PADDR
KEEP_OLD_TEXT_SCNPTR
KERNEL_FILE
LDAV_SYMBOL
LD_SWITCH_MACHINE
LD_SWITCH_SYSTEM
LD_SWITCH_SYSTEM_TEMACS
LD_TEXT_START_ADDR
LIBS_DEBUG
LIBS_MACHINE
LIBS_SYSTEM
LIBS_TERMCAP
LIBX11_MACHINE
LIBX11_SYSTEM
LIBXMU
LIB_GCC
LIB_MOTIF
LIB_STANDARD
LIB_X11_LIB
LINKER
LOAD_AVE_CVT
LOAD_AVE_TYPE
L_SET
MAIL_PROGRAM_NAME
MAIL_USE_FLOCK
MAXNAMLEN
MEMMOVE_MISSING
MEMORY_IN_STRING_H
MKDIR_PROTOTYPE
MOTIF
NARROWPROTO
NEED_ERRNO
NEED_NET_ERRNO_H
NEED_PTEM_H
NEED_SIOCTL
NEW_PROGRAM_H
NEW_SECTION_H
NLIST_NAME_UNION
NLIST_STRUCT
NOMULTIPLEJOBS
NONSYSTEM_DIR_LIBRARY
NOT_C_CODE
NO_ARG_ARRAY
NO_GET_LOAD_AVG
NO_MODE_T
NO_PTY_H
NO_REMAP
NO_SIOCTL_H
NO_SOCKETS_IN_FILE_SYSTEM
NO_SOCK_SIGIO
NO_TERMIO
NO_UNION_TYPE
NO_UNION_TYPE
NSIG
NSIG_MINIMUM
OBJECTS_MACHINE
ORDINARY_LINK
OSF1
O_NDELAY
PATCH_INDEX
PENDING_OUTPUT_COUNT
PERROR
PNTR_COMPARISON_TYPE
POSIX_SIGNALS
PREFER_VSUSP
PTY_ITERATION
PTY_NAME_SPRINTF
PTY_OPEN
PTY_TTY_NAME_SPRINTF
PURESIZE
READ
REL_ALLOC
RUN_TIME_REMAP
SECTION_ALIGNMENT
SEEK
SEGMENT_MASK
SEGSIZ
SETUP_SLAVE_PTY
SHORTNAMES
SHORT_CAST_BUG
SIGMASKTYPE
SIGNALS_VIA_CHARACTERS
SIGN_EXTEND_CHAR
SIGTYPE
SIG_BLOCK
SKTPAIR
SMAIL
START_FILES
SUNOS4
SUNOS_LOCALTIME_BUG
SVR4
SWITCH_ENUM_BUG
SYMS_START
SYSTEM_MALLOC
SYSTEM_TYPE
SYSV_PTYS
SYSV_SYSTEM_DIR
S_IEXEC
S_IFDIR
S_IFLNK
S_IFMT
S_IREAD
S_IWRITE
TERMCAP
TERMINFO
TEXT_END
TEXT_START
TEXT_START_ADDR
THIS_IS_MAKEFILE
TPIX
ULIMIT_BREAK_VALUE
UNEXEC
USE_DL_STUBS
USE_GETOBAUD
USE_MMAP_FOR_BUFFERS
USE_NONANSI_DEFUN
USG
USG5
USG5_3
USG5_4
USG_JOBCTRL
USG_SHARED_LIBRARIES
VIRT_ADDR_VARIES
WORDS_BIG_ENDIAN
WORD_MACHINE
WRITE
X11R4
XICCC
XINT
XSET
XUINT
X_DEFAULT_FONT
_ABIN32
_MIPS_SZLONG
_POSIX_SOURCE
__main
_longjmp
_setjmp
_sobuf
aix386
alloca
aouthdr
data_start
drem
dsize
emacs
entry
etext
fatal
fchmod
getpgrp
ghs
hp9000s800
index
internal_with_output_to_temp_buffer
jmp_buf
longjmp
m68000
m68k
magic
mc68000
mips
sel
subprocesses
sun
text_start
# arch-tag: bc80061a-1168-4911-9766-46aaf2640250