(smtpmail-via-smtp): Make sure we don't send QUIT twice.
[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
0f21c005 51** System specific macros, decribed 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
DN
60
61** Machine specific macros, decribed in detail in src/m/template.h
0f21c005 62VIRT_ADDR_VARIES
0f21c005 63
2b5b9582
EZ
64** Misc macros
65USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
66
4624371d 67** Replace, the definition is trivial: SWITCH_ENUM_CAST
d35e1cd7 68
a0ce9ab7
DN
69** 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.
70
d35e1cd7 71
a0ce9ab7
DN
72AIX
73AMPERSAND_FULL_NAME
a0ce9ab7
DN
74BITS_PER_EMACS_INT
75BITS_PER_LONG
97560d35
GM
76BITS_PER_CHAR
77BITS_PER_SHORT
78BITS_PER_INT
a0ce9ab7 79BROKEN_DATAGRAM_SOCKETS
f3041af1 80BROKEN_FIONREAD
a0ce9ab7
DN
81BROKEN_GET_CURRENT_DIR_NAME
82BROKEN_NON_BLOCKING_CONNECT
83BROKEN_PTY_READ_AFTER_EAGAIN
84BROKEN_SA_RESTART
85BROKEN_SIGAIO
f3041af1 86BROKEN_SIGIO
a0ce9ab7
DN
87BROKEN_SIGPOLL
88BROKEN_SIGPTY
a0ce9ab7 89BSD4_2
f3041af1 90BSD4_3
d35e1cd7 91BSD_SYSTEM
d35e1cd7 92CLASH_DETECTION
f3041af1
DN
93DATA_SEG_BITS
94DATA_START
a0ce9ab7 95DBL_MIN_REPLACEMENT
a0ce9ab7
DN
96DEFAULT_SOUND_DEVICE
97DEVICE_SEP
98DIRECTORY_SEP
99DONT_REOPEN_PTY
a0ce9ab7
DN
100DOUG_LEA_MALLOC
101DebPrint
102EMACSDEBUG
103EMACS_CONFIGURATION
104EMACS_CONFIG_OPTIONS
105EMACS_INT
106EMACS_UINT
a0ce9ab7 107FILE_SYSTEM_CASE
a0ce9ab7 108FLOAT_CHECK_DOMAIN
a0ce9ab7
DN
109GC_LISP_OBJECT_ALIGNMENT
110GC_MARK_SECONDARY_STACK
f3041af1
DN
111GC_MARK_STACK
112GC_SETJMP_WORKS
a0ce9ab7
DN
113GMALLOC_INHIBIT_VALLOC
114GNU_LIBRARY_PENDING_OUTPUT_COUNT
115GNU_LINUX
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
126HAVE_FTIME
127HAVE_GETCWD
128HAVE_GETDOMAINNAME
129HAVE_GETHOSTNAME
130HAVE_GETLOADAVG
131HAVE_GETPAGESIZE
132HAVE_GETPT
f3041af1 133HAVE_GETTIMEOFDAY
a0ce9ab7
DN
134HAVE_GETWD
135HAVE_H_ERRNO
f3041af1 136HAVE_INET_SOCKETS
a0ce9ab7 137HAVE_INVERSE_HYPERBOLIC
a0ce9ab7 138HAVE_LIBKSTAT
a0ce9ab7
DN
139HAVE_LIMITS_H
140HAVE_LINUX_VERSION_H
141HAVE_LOGB
142HAVE_LONG_FILE_NAMES
143HAVE_LRAND48
144HAVE_MENUS
145HAVE_MKDIR
146HAVE_MKTIME
147HAVE_MOUSE
148HAVE_PERROR
149HAVE_PSTAT_GETDYNAMIC
a0ce9ab7
DN
150HAVE_PWD_H
151HAVE_RANDOM
152HAVE_RENAME
153HAVE_RES_INIT
a0ce9ab7
DN
154HAVE_RINT
155HAVE_RMDIR
f3041af1 156HAVE_SELECT
a0ce9ab7
DN
157HAVE_SETLOCALE
158HAVE_SETPGID
159HAVE_SETRLIMIT
160HAVE_SETSID
161HAVE_SHUTDOWN
d35e1cd7 162HAVE_SOCKETS
a0ce9ab7
DN
163HAVE_SOUND
164HAVE_STDLIB_H
165HAVE_STRERROR
166HAVE_STRFTIME
f2a77c3a 167HAVE_STRING_H
a0ce9ab7
DN
168HAVE_STRUCT_UTIMBUF
169HAVE_SYSINFO
f3041af1 170HAVE_SYSV_SIGPAUSE
a0ce9ab7
DN
171HAVE_SYS_SELECT_H
172HAVE_SYS_SYSTEMINFO_H
173HAVE_SYS_TIMEB_H
174HAVE_SYS_TIME_H
f3041af1 175HAVE_TCATTR
a0ce9ab7
DN
176HAVE_TIMEVAL
177HAVE_TM_ZONE
178HAVE_TZSET
f3041af1 179HAVE_UNISTD_H
f3041af1 180HAVE_UTIMES
a0ce9ab7 181HAVE_UTIME_H
a0ce9ab7
DN
182HAVE_WINDOW_SYSTEM
183HAVE_WORKING_VFORK
184HAVE_XRMSETDATABASE
185HPUX
a0ce9ab7 186INTERNAL_TERMINAL
a0ce9ab7
DN
187IS_ANY_SEP
188IS_DIRECTORY_SEP
f3041af1 189LINKER
0176a259 190LINUX_VERSION_CODE
a0ce9ab7
DN
191LISP_FLOAT_TYPE
192LNOFLSH
a0ce9ab7 193LOCALTIME_CACHE
1495e2fc 194MAIL_USE_FLOCK
a0ce9ab7
DN
195MAIL_USE_LOCKF
196MAIL_USE_POP
197MAIL_USE_SYSTEM_LOCK
198MAXPATHLEN
c5e7567d 199MIN_PTY_KERNEL_VERSION -- only used on Mac
a0ce9ab7 200MODE_LINE_BINARY_TEXT
a0ce9ab7 201MUST_UNDEF__STDC__
f3041af1 202NLIST_STRUCT
f2a77c3a 203NO_ABORT
a0ce9ab7 204NO_EDITRES
a0ce9ab7 205NO_MATHERR
f3041af1 206NO_TERMIO
f3041af1
DN
207NSIG
208NSIG_MINIMUM
a0ce9ab7
DN
209NULL
210NULL_DEVICE
f3041af1 211ORDINARY_LINK
a0ce9ab7 212O_APPEND
a0ce9ab7
DN
213O_RDONLY
214O_RDWR
a0ce9ab7 215PAGESIZE
f3041af1 216PENDING_OUTPUT_COUNT
a0ce9ab7 217POSIX
f3041af1
DN
218PREFER_VSUSP
219PTY_ITERATION
d35e1cd7 220PTY_NAME_SPRINTF
f3041af1 221PTY_OPEN
d35e1cd7 222PTY_TTY_NAME_SPRINTF
f3041af1 223PURESIZE
f3041af1 224RUN_TIME_REMAP
a0ce9ab7 225SA_RESTART
f3041af1 226SEGMENT_MASK
a0ce9ab7 227SETPGRP_RELEASES_CTTY
f3041af1 228SETUP_SLAVE_PTY
a0ce9ab7
DN
229SIGALRM
230SIGCHLD
231SIGHUP
232SIGKILL
f3041af1 233SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
234SIGPIPE
235SIGQUIT
236SIGTRAP
a0ce9ab7 237SOLARIS2
a0ce9ab7 238STDC_HEADERS
a0ce9ab7 239SYSTEM_PURESIZE_EXTRA
bbbac910 240SYSTEM_MALLOC
f3041af1 241SYSV_SYSTEM_DIR
f2a77c3a
DN
242TAB3
243TABDLY
a0ce9ab7 244TERM
a0ce9ab7
DN
245TIME_WITH_SYS_TIME
246TIOCSIGSEND
247TM_IN_SYS_TIME
f3041af1 248ULIMIT_BREAK_VALUE
a0ce9ab7
DN
249UNIX98_PTYS
250USE_CRT_DLL
a0ce9ab7 251USE_TOOLKIT_SCROLL_BARS
f3041af1
DN
252USG
253USG5
f3041af1 254USG5_4
a0ce9ab7
DN
255USG_SUBTTY_WORKS
256VALBITS
a0ce9ab7 257WRETCODE
f2a77c3a 258XOS_NEEDS_TIME_H
a0ce9ab7
DN
259_AIX
260_ARCH_PPC64
a0ce9ab7 261_FILE_OFFSET_BITS
a0ce9ab7
DN
262_LP64
263_MALLOC_INTERNAL
264_NAIVE_DOS_REGS
265_VARARGS_
266_WINSOCKAPI_
267_WINSOCK_H
f3041af1
DN
268_longjmp
269_setjmp
a0ce9ab7
DN
270_start
271abort
272access
f3041af1 273alloca
a0ce9ab7 274brk
a0ce9ab7
DN
275calloc
276chdir
277chmod
278chown
279close
280const
281creat
282ctime
a0ce9ab7
DN
283dup
284dup2
285edata
f3041af1 286emacs
f3041af1 287etext
a0ce9ab7
DN
288execlp
289execvp
a0ce9ab7 290fdopen
a0ce9ab7 291fileno
a0ce9ab7 292fopen
a0ce9ab7
DN
293free
294fsync
295ftruncate
296fwrite
297getdefdir
298getdisk
299getenv
300getpid
301getuid
a0ce9ab7 302gmtime
f3041af1 303index
a0ce9ab7
DN
304isatty
305kill
306link
307linux
308localtime
309logb
310lseek
a0ce9ab7 311malloc
a0ce9ab7
DN
312mkdir
313mktemp
314open
315pclose
316pipe
317popen
a0ce9ab7
DN
318random
319read
320realloc
321rename
322rindex
323rmdir
324sbrk
325select
326sigmask
327signal
328sigsetmask
329sleep
330spawnve
331srandom
a0ce9ab7
DN
332strdup
333strerror
334stricmp
335strnicmp
336strupr
a0ce9ab7
DN
337sys_nerr
338system
339temacs
340tzname
341tzset
342umask
343unix
344unlink
345utimbuf
346utime
347vfork
348wait
349write
350xfree