mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-24 10:38:38 +00:00
469 lines
7.6 KiB
Plaintext
469 lines
7.6 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 **
|
|
|
|
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.
|
|
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_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
|
|
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_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
|