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