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