Misc updates for CPP-DEFINES
[bpt/emacs.git] / admin / CPP-DEFINES
CommitLineData
aa5fea59
SM
1Here are some of the cpp macros used, together with some short explanation
2of their use. Feel free to add more macros and more categories.
8922df07
GM
3Most of these are from config.in, so it's probably better to put the
4explanations in that file. Ideally, everything would be defined and
5documented in config.in, and this file would not be necessary.
6
aa5fea59
SM
7
8** Distinguishing OSes **
9
8922df07
GM
10AIX
11_AIX
12BSD4_2
13BSD_SYSTEM
aa5fea59 14CYGWIN Compiling the Cygwin port.
077e3aa8 15__CYGWIN__ Ditto
8922df07
GM
16GNU_LINUX
17HPUX
18IRIX6_5
077e3aa8
EZ
19MSDOS Compiling the MS-DOS port.
20__MSDOS__ Ditto.
796bb936 21__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
077e3aa8
EZ
22DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
23WINDOWSNT Compiling the native MS-Windows (W32) port.
24__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
25_MSC_VER Compiling the W32 port with the Microsoft C compiler.
14145fa3 26DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
8922df07
GM
27SOLARIS2
28USG
29USG5
30USG5_4
aa5fea59
SM
31
32** Distinguishing GUIs **
33
077e3aa8 34HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
14145fa3 35HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
d1a5744d 36NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
edfda783 37NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
aa5fea59 38HAVE_X11 Compile support for the X11 GUI.
077e3aa8 39HAVE_X_WINDOWS Compile support for X Window system
3df7b338
GM
40 (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
41 be, and vice versa. At least, this is true for configure, and
42 msdos; not sure about nt.)
aa5fea59
SM
43USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
44USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
45USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
46
077e3aa8
EZ
47** Frame types **
48
49FRAME_TERMCAP_P A tty (character terminal) frame.
50FRAME_X_P A frame on X Window system.
51FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
077e3aa8
EZ
52FRAME_W32_P A frame using native MS-Windows GUI.
53FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
54
c3179b06
EZ
55** Support for accessing other processes on the system **
56
57HAVE_PROCFS The /proc filesystem is supported.
c3179b06 58
077e3aa8 59** Compile-time options **
c3179b06 60
077e3aa8
EZ
61REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
62SYSTEM_MALLOC Use the system library's malloc.
8922df07
GM
63subprocesses System can use subprocesses (for M-x shell for example).
64 Defined by default, only MSDOS undefines it.
65DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks
66 on Lisp_Object use.
077e3aa8 67
8922df07 68** System specific macros
0f21c005
DN
69FIRST_PTY_LETTER
70HAVE_PTYS
0f21c005 71INTERRUPT_INPUT
0f21c005 72NARROWPROTO
0f21c005 73SEPCHAR
0f21c005 74SYSTEM_TYPE
0f21c005 75
2b5b9582 76** Misc macros
8922df07
GM
77USER_FULL_NAME If defined, overrides the default pw->pw_gecos for
78getting at the full user name. Only MSDOS overrides the default.
2b5b9582 79
8922df07
GM
80** Miscellaneous defines. Some of these might not be used in the code
81anymore, so they can be removed.
a0ce9ab7 82
a0ce9ab7 83AMPERSAND_FULL_NAME
a0ce9ab7 84BROKEN_DATAGRAM_SOCKETS
f3041af1 85BROKEN_FIONREAD
a0ce9ab7
DN
86BROKEN_GET_CURRENT_DIR_NAME
87BROKEN_NON_BLOCKING_CONNECT
88BROKEN_PTY_READ_AFTER_EAGAIN
89BROKEN_SA_RESTART
90BROKEN_SIGAIO
f3041af1 91BROKEN_SIGIO
a0ce9ab7
DN
92BROKEN_SIGPOLL
93BROKEN_SIGPTY
d35e1cd7 94CLASH_DETECTION
f3041af1
DN
95DATA_SEG_BITS
96DATA_START
a0ce9ab7 97DBL_MIN_REPLACEMENT
a0ce9ab7
DN
98DEFAULT_SOUND_DEVICE
99DEVICE_SEP
100DIRECTORY_SEP
101DONT_REOPEN_PTY
a0ce9ab7
DN
102DOUG_LEA_MALLOC
103DebPrint
104EMACSDEBUG
105EMACS_CONFIGURATION
106EMACS_CONFIG_OPTIONS
107EMACS_INT
108EMACS_UINT
a0ce9ab7 109FLOAT_CHECK_DOMAIN
a0ce9ab7
DN
110GC_LISP_OBJECT_ALIGNMENT
111GC_MARK_SECONDARY_STACK
f3041af1
DN
112GC_MARK_STACK
113GC_SETJMP_WORKS
a0ce9ab7
DN
114GMALLOC_INHIBIT_VALLOC
115GNU_LIBRARY_PENDING_OUTPUT_COUNT
f3041af1 116GNU_MALLOC
a0ce9ab7 117HAVE_AIX_SMT_EXP
a0ce9ab7 118HAVE_CBRT
f3041af1 119HAVE_CLOSEDIR
a0ce9ab7
DN
120HAVE_DUP2
121HAVE_EUIDACCESS
a0ce9ab7
DN
122HAVE_FMOD
123HAVE_FPATHCONF
124HAVE_FREXP
125HAVE_FSYNC
a0ce9ab7 126HAVE_GETCWD
a0ce9ab7
DN
127HAVE_GETHOSTNAME
128HAVE_GETLOADAVG
129HAVE_GETPAGESIZE
130HAVE_GETPT
f3041af1 131HAVE_GETTIMEOFDAY
a0ce9ab7
DN
132HAVE_GETWD
133HAVE_H_ERRNO
f3041af1 134HAVE_INET_SOCKETS
a0ce9ab7 135HAVE_INVERSE_HYPERBOLIC
a0ce9ab7 136HAVE_LIBKSTAT
a0ce9ab7
DN
137HAVE_LIMITS_H
138HAVE_LINUX_VERSION_H
139HAVE_LOGB
140HAVE_LONG_FILE_NAMES
141HAVE_LRAND48
142HAVE_MENUS
a0ce9ab7
DN
143HAVE_MKTIME
144HAVE_MOUSE
a0ce9ab7 145HAVE_PSTAT_GETDYNAMIC
a0ce9ab7
DN
146HAVE_PWD_H
147HAVE_RANDOM
a0ce9ab7 148HAVE_RES_INIT
a0ce9ab7 149HAVE_RINT
f3041af1 150HAVE_SELECT
a0ce9ab7
DN
151HAVE_SETLOCALE
152HAVE_SETPGID
153HAVE_SETRLIMIT
154HAVE_SETSID
155HAVE_SHUTDOWN
d35e1cd7 156HAVE_SOCKETS
a0ce9ab7
DN
157HAVE_SOUND
158HAVE_STDLIB_H
a0ce9ab7 159HAVE_STRFTIME
f2a77c3a 160HAVE_STRING_H
a0ce9ab7 161HAVE_STRUCT_UTIMBUF
a0ce9ab7
DN
162HAVE_SYS_SELECT_H
163HAVE_SYS_SYSTEMINFO_H
164HAVE_SYS_TIMEB_H
165HAVE_SYS_TIME_H
f3041af1 166HAVE_TCATTR
a0ce9ab7
DN
167HAVE_TM_ZONE
168HAVE_TZSET
f3041af1 169HAVE_UNISTD_H
a0ce9ab7 170HAVE_UTIME_H
a0ce9ab7
DN
171HAVE_WINDOW_SYSTEM
172HAVE_WORKING_VFORK
173HAVE_XRMSETDATABASE
a0ce9ab7 174INTERNAL_TERMINAL
a0ce9ab7
DN
175IS_ANY_SEP
176IS_DIRECTORY_SEP
0176a259 177LINUX_VERSION_CODE
a0ce9ab7 178LOCALTIME_CACHE
1495e2fc 179MAIL_USE_FLOCK
a0ce9ab7
DN
180MAIL_USE_LOCKF
181MAIL_USE_POP
182MAIL_USE_SYSTEM_LOCK
183MAXPATHLEN
a0ce9ab7 184MODE_LINE_BINARY_TEXT
a0ce9ab7 185MUST_UNDEF__STDC__
f3041af1 186NLIST_STRUCT
f2a77c3a 187NO_ABORT
a0ce9ab7 188NO_EDITRES
a0ce9ab7 189NO_MATHERR
f3041af1 190NO_TERMIO
f3041af1
DN
191NSIG
192NSIG_MINIMUM
a0ce9ab7 193NULL_DEVICE
f3041af1 194ORDINARY_LINK
a0ce9ab7 195O_APPEND
a0ce9ab7
DN
196O_RDONLY
197O_RDWR
a0ce9ab7 198PAGESIZE
f3041af1 199PENDING_OUTPUT_COUNT
f3041af1
DN
200PREFER_VSUSP
201PTY_ITERATION
d35e1cd7 202PTY_NAME_SPRINTF
f3041af1 203PTY_OPEN
d35e1cd7 204PTY_TTY_NAME_SPRINTF
f3041af1 205PURESIZE
f3041af1 206RUN_TIME_REMAP
a0ce9ab7 207SA_RESTART
f3041af1 208SEGMENT_MASK
a0ce9ab7 209SETPGRP_RELEASES_CTTY
f3041af1 210SETUP_SLAVE_PTY
a0ce9ab7
DN
211SIGALRM
212SIGCHLD
213SIGHUP
214SIGKILL
f3041af1 215SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
216SIGPIPE
217SIGQUIT
218SIGTRAP
a0ce9ab7 219STDC_HEADERS
a0ce9ab7 220SYSTEM_PURESIZE_EXTRA
bbbac910 221SYSTEM_MALLOC
f3041af1 222SYSV_SYSTEM_DIR
f2a77c3a
DN
223TAB3
224TABDLY
a0ce9ab7 225TERM
a0ce9ab7
DN
226TIME_WITH_SYS_TIME
227TIOCSIGSEND
228TM_IN_SYS_TIME
f3041af1 229ULIMIT_BREAK_VALUE
a0ce9ab7
DN
230UNIX98_PTYS
231USE_CRT_DLL
a0ce9ab7 232USE_TOOLKIT_SCROLL_BARS
a0ce9ab7
DN
233USG_SUBTTY_WORKS
234VALBITS
f2a77c3a 235XOS_NEEDS_TIME_H
a0ce9ab7 236_FILE_OFFSET_BITS
a0ce9ab7
DN
237_LP64
238_MALLOC_INTERNAL
239_NAIVE_DOS_REGS
240_VARARGS_
241_WINSOCKAPI_
242_WINSOCK_H
f3041af1
DN
243_longjmp
244_setjmp
a0ce9ab7
DN
245_start
246abort
247access
f3041af1 248alloca
a0ce9ab7 249brk
a0ce9ab7
DN
250calloc
251chdir
252chmod
253chown
254close
a0ce9ab7
DN
255creat
256ctime
a0ce9ab7
DN
257dup
258dup2
259edata
f3041af1 260emacs
f3041af1 261etext
a0ce9ab7
DN
262execlp
263execvp
a0ce9ab7 264fdopen
a0ce9ab7 265fileno
a0ce9ab7 266fopen
a0ce9ab7
DN
267free
268fsync
269ftruncate
270fwrite
271getdefdir
272getdisk
273getenv
274getpid
275getuid
a0ce9ab7 276gmtime
f3041af1 277index
a0ce9ab7
DN
278isatty
279kill
280link
281linux
282localtime
283logb
284lseek
a0ce9ab7 285malloc
a0ce9ab7
DN
286mkdir
287mktemp
288open
289pclose
290pipe
291popen
a0ce9ab7
DN
292random
293read
294realloc
295rename
296rindex
297rmdir
298sbrk
299select
300sigmask
301signal
302sigsetmask
303sleep
304spawnve
305srandom
a0ce9ab7 306strdup
a0ce9ab7
DN
307stricmp
308strnicmp
309strupr
a0ce9ab7
DN
310sys_nerr
311system
312temacs
313tzname
314tzset
315umask
316unix
317unlink
318utimbuf
319utime
320vfork
321wait
322write
323xfree