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