Update.
[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 LIB_STANDARD_LIBSRC
241 LINKER
242 LINK_CRTL_SHARE
243 LINUX_SBRK_BUG
244 LINUX_VERSION_CODE
245 LISP_FLOAT_TYPE
246 LNOFLSH
247 LOAD_AVE_CVT
248 LOAD_AVE_TYPE
249 LOCALTIME_CACHE
250 MAIL_USE_FLOCK
251 MAIL_USE_LOCKF
252 MAIL_USE_POP
253 MAIL_USE_SYSTEM_LOCK
254 MAXPATHLEN
255 MAX_PRINT_CHARS
256 MIN_PTY_KERNEL_VERSION -- only used on Mac
257 MODE_LINE_BINARY_TEXT
258 MULTI_KBOARD
259 MUST_UNDEF__STDC__
260 NARROWPROTO
261 NEED_BSDTTY
262 NEED_ERRNO
263 NEED_LIBW
264 NEED_UNISTD_H
265 NLIST_STRUCT
266 NOMULTIPLEJOBS
267 NONSYSTEM_DIR_LIBRARY
268 NOT_C_CODE
269 NOT_USING_MOTIF
270 NO_ABORT
271 NO_ARG_ARRAY
272 NO_EDITRES
273 NO_HYPHENS_IN_FILENAMES
274 NO_MATHERR
275 NO_REMAP
276 NO_SHARED_LIBS
277 NO_SIOCTL_H
278 NO_SOCK_SIGIO
279 NO_TERMIO
280 NSIG
281 NSIG_MINIMUM
282 NULL
283 NULL_DEVICE
284 N_BADMAG
285 N_TRELOFF
286 N_TXTOFF
287 ORDINARY_LINK
288 OTHER_FILES
289 O_APPEND
290 O_BINARY
291 O_CREAT
292 O_EXCL
293 O_RDONLY
294 O_RDWR
295 O_TEXT
296 O_TRUNC
297 O_WRONLY
298 PAGESIZE
299 PENDING_OUTPUT_COUNT
300 PNTR_COMPARISON_TYPE
301 POSIX
302 POSIX_SIGNALS
303 PREFER_VSUSP
304 PTY_ITERATION
305 PTY_NAME_SPRINTF
306 PTY_OPEN
307 PTY_TTY_NAME_SPRINTF
308 PURESIZE
309 PURE_SEG_BITS
310 RUN_TIME_REMAP
311 SA_RESTART
312 SECTION_ALIGNMENT
313 SEGMENT_MASK
314 SEPCHAR
315 SETPGRP_RELEASES_CTTY
316 SETUP_SLAVE_PTY
317 SHARABLE_LIB_BUG
318 SIGALRM
319 SIGCHLD
320 SIGHUP
321 SIGKILL
322 SIGNALS_VIA_CHARACTERS
323 SIGPIPE
324 SIGQUIT
325 SIGTRAP
326 SIGTYPE
327 SOLARIS2
328 START_FILES
329 START_FILES_1
330 STDC_HEADERS
331 SYMS_SYSTEM
332 SYSTEM_PURESIZE_EXTRA
333 SYSTEM_TYPE
334 SYSV_SYSTEM_DIR
335 S_IFLNK
336 Srandom
337 TAB3
338 TABDLY
339 TERM
340 TERMINFO
341 TEXT_END
342 TEXT_START
343 THIS_IS_CONFIGURE
344 THIS_IS_MAKEFILE
345 TIME_WITH_SYS_TIME
346 TIOCSIGSEND
347 TM_IN_SYS_TIME
348 ULIMIT_BREAK_VALUE
349 UNEXEC
350 UNIX98_PTYS
351 USE_CRT_DLL
352 USE_MAC_IMAGE_IO
353 USE_MMAP_FOR_BUFFERS
354 USE_TOOLKIT_SCROLL_BARS
355 USG
356 USG5
357 USG5_4
358 USG_SUBTTY_WORKS
359 VALBITS
360 VIRT_ADDR_VARIES
361 VMS
362 WORDS_BIG_ENDIAN
363 WRETCODE
364 XINT
365 XOS_NEEDS_TIME_H
366 XPNTR
367 XSET
368 XUINT
369 _AIX
370 _ARCH_PPC64
371 _CALLBACK_
372 _FILE_OFFSET_BITS
373 _LP64
374 _MALLOC_INTERNAL
375 _NAIVE_DOS_REGS
376 _VARARGS_
377 _WINSOCKAPI_
378 _WINSOCK_H
379 __ELF__
380 __FreeBSD__
381 __FreeBSD_version
382 __GNUC__
383 __GNUC_MINOR__
384 __NetBSD__
385 __OpenBSD__
386 __STDC__
387 __arch64__
388 __cplusplus
389 __hpux
390 __ia64__
391 __linux__
392 __mc68000__
393 __mips__
394 _longjmp
395 _setjmp
396 _start
397 abort
398 access
399 alloca
400 bcmp
401 bcopy
402 brk
403 bzero
404 calloc
405 chdir
406 chmod
407 chown
408 close
409 const
410 creat
411 ctime
412 dup
413 dup2
414 edata
415 emacs
416 etext
417 execlp
418 execvp
419 fdopen
420 fileno
421 fopen
422 free
423 fsync
424 ftruncate
425 fwrite
426 getdefdir
427 getdisk
428 getenv
429 getpid
430 getuid
431 gmtime
432 i386
433 index
434 init_process
435 isatty
436 kill
437 link
438 linux
439 localtime
440 logb
441 lseek
442 m68k
443 malloc
444 mips
445 mkdir
446 mktemp
447 open
448 pclose
449 pipe
450 popen
451 random
452 read
453 realloc
454 rename
455 rindex
456 rmdir
457 sbrk
458 select
459 sigmask
460 signal
461 sigsetmask
462 sleep
463 spawnve
464 srandom
465 strdup
466 strerror
467 stricmp
468 strnicmp
469 strupr
470 subprocesses
471 sun
472 sys_nerr
473 system
474 temacs
475 tzname
476 tzset
477 umask
478 unix
479 unlink
480 utimbuf
481 utime
482 vfork
483 wait
484 write
485 xfree
486
487 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250