Merge from emacs--rel--22
[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 MAC_OS8 Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
7 MAC_OSX Compiling for Mac OS X. Not bare Darwin.
8 CYGWIN Compiling the Cygwin port.
9 __CYGWIN__ Ditto
10 MSDOS Compiling the MS-DOS port.
11 __MSDOS__ Ditto.
12 __DJGPP__ Major version number of the DJGPP library for the DOS port.
13 __DJGPP_MINOR__ Minor version number of the DJGPP library.
14 __GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
15 DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
16 WINDOWSNT Compiling the native MS-Windows (W32) port.
17 __MINGW32__ Compiling the W32 port with the MinGW port of GCC.
18 _MSC_VER Compiling the W32 port with the Microsoft C compiler.
19 IRIX6_5 Compiling on Irix-6.5
20 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
21
22 ** Distinguishing GUIs **
23
24 HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
25 MAC_OS Compiling for the `mac' window-system.
26 HAVE_CARBON Compile support for the Carbon GUI. Requires MAC_OS?
27 HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
28 NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
29 NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
30 HAVE_X11 Compile support for the X11 GUI.
31 HAVE_X_WINDOWS Compile support for X Window system
32 X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
33 USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
34 USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
35 USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
36
37 ** Frame types **
38
39 FRAME_TERMCAP_P A tty (character terminal) frame.
40 FRAME_X_P A frame on X Window system.
41 FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
42 FRAME_MAC_P A Mac frame.
43 FRAME_W32_P A frame using native MS-Windows GUI.
44 FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
45
46 ** Compile-time options **
47 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
48 SYSTEM_MALLOC Use the system library's malloc.
49
50 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
51
52 ** 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.
53
54
55 ADDR_CORRECT
56 ADJUST_EXEC_HEADER
57 AIX
58 AMPERSAND_FULL_NAME
59 A_TEXT_OFFSET
60 A_TEXT_SEEK
61 BCOPY_DOWNWARD_SAFE
62 BCOPY_UPWARD_SAFE
63 BITS_PER_EMACS_INT
64 BITS_PER_LONG
65 BROKEN_DATAGRAM_SOCKETS
66 BROKEN_FIONREAD
67 BROKEN_GET_CURRENT_DIR_NAME
68 BROKEN_NON_BLOCKING_CONNECT
69 BROKEN_PTY_READ_AFTER_EAGAIN
70 BROKEN_SA_RESTART
71 BROKEN_SIGAIO
72 BROKEN_SIGIO
73 BROKEN_SIGPOLL
74 BROKEN_SIGPTY
75 BSD4_2
76 BSD4_3
77 BSD_PGRPS
78 BSD_SYSTEM
79 BSTRING
80 CANNOT_DUMP
81 CLASH_DETECTION
82 COFF
83 COFF_BSD_SYMBOLS
84 CRT0_DUMMIES
85 C_DEBUG_SWITCH
86 C_SWITCH_MACHINE
87 C_SWITCH_SYSTEM
88 C_SWITCH_SYSTEM_TEMACS
89 C_SWITCH_X_SYSTEM
90 DATA_END
91 DATA_SEG_BITS
92 DATA_START
93 DBL_MIN_REPLACEMENT
94 DECLARE_GETPWUID_WITH_UID_T
95 DEFAULT_SOUND_DEVICE
96 DEVICE_SEP
97 DIRECTORY_SEP
98 DONT_REOPEN_PTY
99 DOT_GLOBAL_START
100 DOUG_LEA_MALLOC
101 DebPrint
102 EMACSDEBUG
103 EMACS_CONFIGURATION
104 EMACS_CONFIG_OPTIONS
105 EMACS_INT
106 EMACS_UINT
107 END_FILES_1
108 EXPLICIT_SIGN_EXTEND
109 FILE_SYSTEM_CASE
110 FIRST_PTY_LETTER
111 FLOAT_CHECK_DOMAIN
112 FSCALE
113 Fread
114 GAP_USE_BCOPY
115 GC_LISP_OBJECT_ALIGNMENT
116 GC_MARK_SECONDARY_STACK
117 GC_MARK_STACK
118 GC_SETJMP_WORKS
119 GETPGRP_NO_ARG
120 GMALLOC_INHIBIT_VALLOC
121 GNU_LIBRARY_PENDING_OUTPUT_COUNT
122 GNU_LINUX
123 GNU_MALLOC
124 HAVE_AIX_SMT_EXP
125 HAVE_ALLOCA
126 HAVE_AVAILABILITYMACROS_H
127 HAVE_BCMP
128 HAVE_BCOPY
129 HAVE_CBRT
130 HAVE_CLOSEDIR
131 HAVE_CRTIN
132 HAVE_DUP2
133 HAVE_EUIDACCESS
134 HAVE_FMOD
135 HAVE_FPATHCONF
136 HAVE_FREXP
137 HAVE_FSYNC
138 HAVE_FTIME
139 HAVE_GETCWD
140 HAVE_GETDOMAINNAME
141 HAVE_GETHOSTNAME
142 HAVE_GETLOADAVG
143 HAVE_GETPAGESIZE
144 HAVE_GETPT
145 HAVE_GETTIMEOFDAY
146 HAVE_GETWD
147 HAVE_H_ERRNO
148 HAVE_INDEX
149 HAVE_INET_SOCKETS
150 HAVE_INVERSE_HYPERBOLIC
151 HAVE_LIB64_DIR
152 HAVE_LIBKSTAT
153 HAVE_LIBNCURSES
154 HAVE_LIBPTHREADS
155 HAVE_LIBXMU
156 HAVE_LIMITS_H
157 HAVE_LINUX_VERSION_H
158 HAVE_LOGB
159 HAVE_LONG_FILE_NAMES
160 HAVE_LRAND48
161 HAVE_MENUS
162 HAVE_MKDIR
163 HAVE_MKTIME
164 HAVE_MOUSE
165 HAVE_PERROR
166 HAVE_PSTAT_GETDYNAMIC
167 HAVE_PTYS
168 HAVE_PWD_H
169 HAVE_RANDOM
170 HAVE_RENAME
171 HAVE_RES_INIT
172 HAVE_RINDEX
173 HAVE_RINT
174 HAVE_RMDIR
175 HAVE_SELECT
176 HAVE_SETLOCALE
177 HAVE_SETPGID
178 HAVE_SETRLIMIT
179 HAVE_SETSID
180 HAVE_SHUTDOWN
181 HAVE_SOCKETS
182 HAVE_SOUND
183 HAVE_STDLIB_H
184 HAVE_STRERROR
185 HAVE_STRFTIME
186 HAVE_STRING_H
187 HAVE_STRUCT_UTIMBUF
188 HAVE_SYSINFO
189 HAVE_SYSV_SIGPAUSE
190 HAVE_SYS_SELECT_H
191 HAVE_SYS_SYSTEMINFO_H
192 HAVE_SYS_TIMEB_H
193 HAVE_SYS_TIME_H
194 HAVE_TCATTR
195 HAVE_TERMIO
196 HAVE_TERMIOS
197 HAVE_TERMIOS_H
198 HAVE_TEXT_START
199 HAVE_TIMEVAL
200 HAVE_TM_ZONE
201 HAVE_TZSET
202 HAVE_UNISTD_H
203 HAVE_UTIMES
204 HAVE_UTIME_H
205 HAVE_VOLATILE
206 HAVE_WINDOW_SYSTEM
207 HAVE_WORKING_VFORK
208 HAVE_XRMSETDATABASE
209 HPUX
210 IBMR2AIX
211 INHIBIT_X11R6_XIM
212 INTERNAL_TERMINAL
213 INTERRUPT_INPUT
214 IRIS
215 IRIS_4D
216 IS_ANY_SEP
217 IS_DIRECTORY_SEP
218 KERNEL_FILE
219 LDAV_SYMBOL
220 LD_SWITCH_MACHINE
221 LD_SWITCH_MACHINE_TEMACS
222 LD_SWITCH_SITE
223 LD_SWITCH_SYSTEM
224 LD_SWITCH_SYSTEM_1
225 LD_SWITCH_SYSTEM_TEMACS
226 LD_SWITCH_SYSTEM_tmp
227 LD_SWITCH_X_DEFAULT
228 LIBS_CARBON
229 LIBS_DEBUG
230 LIBS_IMAGE
231 LIBS_MACHINE
232 LIBS_SYSTEM
233 LIBS_TERMCAP
234 LIBX11_SYSTEM
235 LIBXMU
236 LIB_GCC
237 LIB_MATH
238 LIB_MOTIF
239 LIB_STANDARD
240 LINKER
241 LINK_CRTL_SHARE
242 LINUX_SBRK_BUG
243 LINUX_VERSION_CODE
244 LISP_FLOAT_TYPE
245 LNOFLSH
246 LOAD_AVE_CVT
247 LOAD_AVE_TYPE
248 LOCALTIME_CACHE
249 MAIL_USE_FLOCK
250 MAIL_USE_LOCKF
251 MAIL_USE_POP
252 MAIL_USE_SYSTEM_LOCK
253 MAXPATHLEN
254 MAX_PRINT_CHARS
255 MIN_PTY_KERNEL_VERSION -- only used on Mac
256 MODE_LINE_BINARY_TEXT
257 MULTI_KBOARD
258 MUST_UNDEF__STDC__
259 NARROWPROTO
260 NEED_BSDTTY
261 NEED_ERRNO
262 NEED_LIBW
263 NEED_UNISTD_H
264 NLIST_STRUCT
265 NOMULTIPLEJOBS
266 NONSYSTEM_DIR_LIBRARY
267 NOT_C_CODE
268 NOT_USING_MOTIF
269 NO_ABORT
270 NO_ARG_ARRAY
271 NO_EDITRES
272 NO_HYPHENS_IN_FILENAMES
273 NO_MATHERR
274 NO_REMAP
275 NO_SHARED_LIBS
276 NO_SIOCTL_H
277 NO_SOCK_SIGIO
278 NO_TERMIO
279 NSIG
280 NSIG_MINIMUM
281 NULL
282 NULL_DEVICE
283 N_BADMAG
284 N_TRELOFF
285 N_TXTOFF
286 ORDINARY_LINK
287 OTHER_FILES
288 O_APPEND
289 O_BINARY
290 O_CREAT
291 O_EXCL
292 O_RDONLY
293 O_RDWR
294 O_TEXT
295 O_TRUNC
296 O_WRONLY
297 PAGESIZE
298 PENDING_OUTPUT_COUNT
299 PNTR_COMPARISON_TYPE
300 POSIX
301 POSIX_SIGNALS
302 PREFER_VSUSP
303 PTY_ITERATION
304 PTY_NAME_SPRINTF
305 PTY_OPEN
306 PTY_TTY_NAME_SPRINTF
307 PURESIZE
308 PURE_SEG_BITS
309 RUN_TIME_REMAP
310 SA_RESTART
311 SECTION_ALIGNMENT
312 SEGMENT_MASK
313 SEPCHAR
314 SETPGRP_RELEASES_CTTY
315 SETUP_SLAVE_PTY
316 SHARABLE_LIB_BUG
317 SIGALRM
318 SIGCHLD
319 SIGHUP
320 SIGKILL
321 SIGNALS_VIA_CHARACTERS
322 SIGPIPE
323 SIGQUIT
324 SIGTRAP
325 SIGTYPE
326 SOLARIS2
327 START_FILES
328 START_FILES_1
329 STDC_HEADERS
330 SYMS_SYSTEM
331 SYSTEM_PURESIZE_EXTRA
332 SYSTEM_TYPE
333 SYSV_SYSTEM_DIR
334 S_IFLNK
335 Srandom
336 TAB3
337 TABDLY
338 TERM
339 TERMINFO
340 TEXT_END
341 TEXT_START
342 THIS_IS_CONFIGURE
343 THIS_IS_MAKEFILE
344 TIME_WITH_SYS_TIME
345 TIOCSIGSEND
346 TM_IN_SYS_TIME
347 ULIMIT_BREAK_VALUE
348 UNEXEC
349 UNIX98_PTYS
350 USE_CRT_DLL
351 USE_MAC_IMAGE_IO
352 USE_MMAP_FOR_BUFFERS
353 USE_TOOLKIT_SCROLL_BARS
354 USG
355 USG5
356 USG5_4
357 USG_SUBTTY_WORKS
358 VALBITS
359 VIRT_ADDR_VARIES
360 VMS
361 WORDS_BIG_ENDIAN
362 WRETCODE
363 XINT
364 XOS_NEEDS_TIME_H
365 XPNTR
366 XSET
367 XUINT
368 _AIX
369 _ARCH_PPC64
370 _CALLBACK_
371 _FILE_OFFSET_BITS
372 _LP64
373 _MALLOC_INTERNAL
374 _NAIVE_DOS_REGS
375 _VARARGS_
376 _WINSOCKAPI_
377 _WINSOCK_H
378 __ELF__
379 __FreeBSD__
380 __FreeBSD_version
381 __GNUC__
382 __GNUC_MINOR__
383 __NetBSD__
384 __OpenBSD__
385 __STDC__
386 __arch64__
387 __cplusplus
388 __hpux
389 __ia64__
390 __linux__
391 __mc68000__
392 __mips__
393 _longjmp
394 _setjmp
395 _start
396 abort
397 access
398 alloca
399 bcmp
400 bcopy
401 brk
402 bzero
403 calloc
404 chdir
405 chmod
406 chown
407 close
408 const
409 creat
410 ctime
411 dup
412 dup2
413 edata
414 emacs
415 etext
416 execlp
417 execvp
418 fdopen
419 fileno
420 fopen
421 free
422 fsync
423 ftruncate
424 fwrite
425 getdefdir
426 getdisk
427 getenv
428 getpid
429 getuid
430 gmtime
431 i386
432 index
433 init_process
434 isatty
435 kill
436 link
437 linux
438 localtime
439 logb
440 lseek
441 m68k
442 malloc
443 mips
444 mkdir
445 mktemp
446 open
447 pclose
448 pipe
449 popen
450 random
451 read
452 realloc
453 rename
454 rindex
455 rmdir
456 sbrk
457 select
458 sigmask
459 signal
460 sigsetmask
461 sleep
462 spawnve
463 srandom
464 strdup
465 strerror
466 stricmp
467 strnicmp
468 strupr
469 subprocesses
470 sun
471 sys_nerr
472 system
473 temacs
474 tzname
475 tzset
476 umask
477 unix
478 unlink
479 utimbuf
480 utime
481 vfork
482 wait
483 write
484 xfree
485
486 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250