Simplify by assuming __fpending.
[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 Most of these are from config.in, so it's probably better to put the
4 explanations in that file. Ideally, everything would be defined and
5 documented in config.in, and this file would not be necessary.
6
7
8 ** Distinguishing OSes **
9
10 AIX
11 _AIX
12 BSD4_2
13 BSD_SYSTEM
14 CYGWIN Compiling the Cygwin port.
15 __CYGWIN__ Ditto
16 GNU_LINUX
17 HPUX
18 IRIX6_5
19 MSDOS Compiling the MS-DOS port.
20 __MSDOS__ Ditto.
21 __DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
22 DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
23 WINDOWSNT Compiling the native MS-Windows (W32) port.
24 __MINGW32__ Compiling the W32 port with the MinGW port of GCC.
25 _MSC_VER Compiling the W32 port with the Microsoft C compiler.
26 DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
27 SOLARIS2
28 USG
29 USG5
30 USG5_4
31
32 ** Distinguishing GUIs **
33
34 HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
35 HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
36 NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
37 NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
38 HAVE_X11 Compile support for the X11 GUI.
39 HAVE_X_WINDOWS Compile support for X Window system
40 (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
41 be, and vice versa. At least, this is true for configure, and
42 msdos; not sure about nt.)
43 HAVE_X11R6
44 HAVE_X11R6_XIM
45 HAVE_X11XTR6
46 USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
47 USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
48 USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
49
50 ** Frame types **
51
52 FRAME_TERMCAP_P A tty (character terminal) frame.
53 FRAME_X_P A frame on X Window system.
54 FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
55 FRAME_W32_P A frame using native MS-Windows GUI.
56 FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
57
58 ** Support for accessing other processes on the system **
59
60 HAVE_PROCFS The /proc filesystem is supported.
61
62 ** Compile-time options **
63
64 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
65 SYSTEM_MALLOC Use the system library's malloc.
66 subprocesses System can use subprocesses (for M-x shell for example).
67 Defined by default, only MSDOS undefines it.
68 DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks
69 on Lisp_Object use.
70
71 ** System specific macros
72 FIRST_PTY_LETTER
73 HAVE_PTYS
74 INTERRUPT_INPUT
75 NARROWPROTO
76 SEPCHAR
77 SYSTEM_TYPE
78
79 ** Misc macros
80 USER_FULL_NAME If defined, overrides the default pw->pw_gecos for
81 getting at the full user name. Only MSDOS overrides the default.
82
83 ** Miscellaneous defines. Some of these might not be used in the code
84 anymore, so they can be removed.
85
86 AMPERSAND_FULL_NAME
87 BROKEN_DATAGRAM_SOCKETS
88 BROKEN_FIONREAD
89 BROKEN_GETWD
90 BROKEN_GET_CURRENT_DIR_NAME
91 BROKEN_NON_BLOCKING_CONNECT
92 BROKEN_PTY_READ_AFTER_EAGAIN
93 CLASH_DETECTION
94 DATA_SEG_BITS
95 DATA_START
96 DEFAULT_SOUND_DEVICE
97 DEVICE_SEP
98 DIRECTORY_SEP
99 DONT_REOPEN_PTY
100 DOUG_LEA_MALLOC
101 EMACS_CONFIGURATION
102 EMACS_CONFIG_OPTIONS
103 EMACS_INT
104 EMACS_UINT
105 GC_MARK_SECONDARY_STACK
106 GC_MARK_STACK
107 GC_SETJMP_WORKS
108 GNU_MALLOC
109 HAVE_AIX_SMT_EXP
110 HAVE_ALARM
111 HAVE_ALLOCA
112 HAVE_ALLOCA_H
113 HAVE_ALSA
114 HAVE_ATTRIBUTE_ALIGNED
115 HAVE_BDFFONT
116 HAVE_BOXES
117 HAVE_C99_STRTOLD
118 HAVE_CFMAKERAW
119 HAVE_CFSETSPEED
120 HAVE_CLOCK_GETTIME
121 HAVE_CLOCK_SETTIME
122 HAVE_CLOSEDIR
123 HAVE_COFF_H
124 HAVE_COM_ERR_H
125 HAVE_COPYSIGN
126 HAVE_DBUS
127 HAVE_DBUS_TYPE_IS_VALID
128 HAVE_DBUS_VALIDATE_BUS_NAME
129 HAVE_DBUS_VALIDATE_INTERFACE
130 HAVE_DBUS_VALIDATE_MEMBER
131 HAVE_DBUS_VALIDATE_PATH
132 HAVE_DBUS_WATCH_GET_UNIX_FD
133 HAVE_DECL_GETENV
134 HAVE_DECL_LOCALTIME_R
135 HAVE_DECL_STRMODE
136 HAVE_DECL_STRTOIMAX
137 HAVE_DECL_STRTOLL
138 HAVE_DECL_STRTOULL
139 HAVE_DECL_STRTOUMAX
140 HAVE_DECL_SYS_SIGLIST
141 HAVE_DECL_TZNAME
142 HAVE_DECL___SYS_SIGLIST
143 HAVE_DES_H
144 HAVE_DEV_PTMX
145 HAVE_DIALOGS
146 HAVE_DIFFTIME
147 HAVE_DIRENT_H
148 HAVE_DUP2
149 HAVE_ENDGRENT
150 HAVE_ENDPWENT
151 HAVE_ENVIRON_DECL
152 HAVE_EUIDACCESS
153 HAVE_FCNTL_H
154 HAVE_FORK
155 HAVE_FPATHCONF
156 HAVE_FREEIFADDRS
157 HAVE_FREETYPE
158 HAVE_FSEEKO
159 HAVE_FSYNC
160 HAVE_FUTIMENS
161 HAVE_FUTIMES
162 HAVE_FUTIMESAT
163 HAVE_GAI_STRERROR
164 HAVE_GCONF
165 HAVE_GETADDRINFO
166 HAVE_GETCWD
167 HAVE_GETDELIM
168 HAVE_GETGRENT
169 HAVE_GETHOSTNAME
170 HAVE_GETIFADDRS
171 HAVE_GETLINE
172 HAVE_GETLOADAVG
173 HAVE_GETOPT_H
174 HAVE_GETOPT_LONG_ONLY
175 HAVE_GETPAGESIZE
176 HAVE_GETPEERNAME
177 HAVE_GETPT
178 HAVE_GETPWENT
179 HAVE_GETRLIMIT
180 HAVE_GETRUSAGE
181 HAVE_GETSOCKNAME
182 HAVE_GETTIMEOFDAY
183 HAVE_GETWD
184 HAVE_GET_CURRENT_DIR_NAME
185 HAVE_GHOSTSCRIPT
186 HAVE_GIF
187 HAVE_GNUTLS
188 HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY
189 HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
190 HAVE_GPM
191 HAVE_GRANTPT
192 HAVE_GSETTINGS
193 HAVE_GTK3
194 HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
195 HAVE_GTK_DIALOG_GET_ACTION_AREA
196 HAVE_GTK_FILE_SELECTION_NEW
197 HAVE_GTK_MAIN
198 HAVE_GTK_MULTIDISPLAY
199 HAVE_GTK_ORIENTABLE_SET_ORIENTATION
200 HAVE_GTK_WIDGET_GET_MAPPED
201 HAVE_GTK_WIDGET_GET_SENSITIVE
202 HAVE_GTK_WIDGET_GET_WINDOW
203 HAVE_GTK_WIDGET_SET_HAS_WINDOW
204 HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
205 HAVE_G_TYPE_INIT
206 HAVE_H_ERRNO
207 HAVE_IFADDRS_H
208 HAVE_IMAGEMAGICK
209 HAVE_INET_SOCKETS
210 HAVE_INTTYPES_H
211 HAVE_JPEG
212 HAVE_KERBEROSIV_DES_H
213 HAVE_KERBEROSIV_KRB_H
214 HAVE_KERBEROS_DES_H
215 HAVE_KERBEROS_KRB_H
216 HAVE_KRB5_ERROR_E_TEXT
217 HAVE_KRB5_ERROR_TEXT
218 HAVE_KRB5_H
219 HAVE_KRB_H
220 HAVE_LANGINFO_CODESET
221 HAVE_LIBCOM_ERR
222 HAVE_LIBCRYPTO
223 HAVE_LIBDES
224 HAVE_LIBDES425
225 HAVE_LIBDGC
226 HAVE_LIBDNET
227 HAVE_LIBHESIOD
228 HAVE_LIBK5CRYPTO
229 HAVE_LIBKRB
230 HAVE_LIBKRB4
231 HAVE_LIBKRB5
232 HAVE_LIBKSTAT
233 HAVE_LIBLOCKFILE
234 HAVE_LIBM
235 HAVE_LIBMAIL
236 HAVE_LIBOTF
237 HAVE_LIBPERFSTAT
238 HAVE_LIBPNG_PNG_H
239 HAVE_LIBPTHREADS
240 HAVE_LIBRESOLV
241 HAVE_LIBSELINUX
242 HAVE_LIBXEXT
243 HAVE_LIBXML2
244 HAVE_LIBXMU
245 HAVE_LINUX_VERSION_H
246 HAVE_LOCALTIME_R
247 HAVE_LOCAL_SOCKETS
248 HAVE_LONG_FILE_NAMES
249 HAVE_LONG_LONG_INT
250 HAVE_LRAND48
251 HAVE_LSTAT
252 HAVE_LUTIMES
253 HAVE_M17N_FLT
254 HAVE_MACHINE_SOUNDCARD_H
255 HAVE_MACH_MACH_H
256 HAVE_MAGICKEXPORTIMAGEPIXELS
257 HAVE_MAGICKMERGEIMAGELAYERS
258 HAVE_MAILLOCK_H
259 HAVE_MALLOC_MALLOC_H
260 HAVE_MATHERR
261 HAVE_MBSTATE_T
262 HAVE_MEMCMP
263 HAVE_MEMMOVE
264 HAVE_MEMORY_H
265 HAVE_MEMSET
266 HAVE_MENUS
267 HAVE_MKSTEMP
268 HAVE_MMAP
269 HAVE_MOUSE
270 HAVE_MULTILINGUAL_MENU
271 HAVE_NANOTIME
272 HAVE_NET_IF_DL_H
273 HAVE_NET_IF_H
274 HAVE_NLIST_H
275 HAVE_OTF_GET_VARIATION_GLYPHS
276 HAVE_PERSONALITY_LINUX32
277 HAVE_PNG
278 HAVE_PNG_H
279 HAVE_POSIX_MEMALIGN
280 HAVE_PROCFS
281 HAVE_PSELECT
282 HAVE_PSTAT_GETDYNAMIC
283 HAVE_PTHREAD
284 HAVE_PTHREAD_H
285 HAVE_PTHREAD_SIGMASK
286 HAVE_PTYS
287 HAVE_PTY_H
288 HAVE_PWD_H
289 HAVE_RANDOM
290 HAVE_READLINK
291 HAVE_READLINKAT
292 HAVE_RECVFROM
293 HAVE_RES_INIT
294 HAVE_RINT
295 HAVE_RSVG
296 HAVE_SELECT
297 HAVE_SENDTO
298 HAVE_SEQPACKET
299 HAVE_SETITIMER
300 HAVE_SETLOCALE
301 HAVE_SETPGID
302 HAVE_SETRLIMIT
303 HAVE_SETSID
304 HAVE_SHARED_GAME_DIR
305 HAVE_SHUTDOWN
306 HAVE_SIGNED_${GLTYPE}
307 HAVE_SIGNED_SIG_ATOMIC_T
308 HAVE_SIGNED_WCHAR_T
309 HAVE_SIGNED_WINT_T
310 HAVE_SIGSET_T
311 HAVE_SIZE_T
312 HAVE_SNPRINTF
313 HAVE_SOCKETS
314 HAVE_SOUND
315 HAVE_SOUNDCARD_H
316 HAVE_SPEED_T
317 HAVE_STDINT_H
318 HAVE_STDIO_EXT_H
319 HAVE_STDLIB_H
320 HAVE_STLIB_H_1
321 HAVE_STRINGS_H
322 HAVE_STRING_H
323 HAVE_STRNCASECMP
324 HAVE_STRSIGNAL
325 HAVE_STRTOIMAX
326 HAVE_STRTOLL
327 HAVE_STRTOULL
328 HAVE_STRTOUMAX
329 HAVE_STRUCT_ERA_ENTRY
330 HAVE_STRUCT_IFREQ_IFR_ADDR
331 HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN
332 HAVE_STRUCT_IFREQ_IFR_BROADADDR
333 HAVE_STRUCT_IFREQ_IFR_FLAGS
334 HAVE_STRUCT_IFREQ_IFR_HWADDR
335 HAVE_STRUCT_IFREQ_IFR_NETMASK
336 HAVE_STRUCT_NLIST_N_UN_N_NAME
337 HAVE_STRUCT_STAT_ST_ATIMENSEC
338 HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
339 HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
340 HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
341 HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
342 HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
343 HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
344 HAVE_STRUCT_TIMEZONE
345 HAVE_STRUCT_TM_TM_ZONE
346 HAVE_STRUCT_UTIMBUF
347 HAVE_ST_DM_MODE
348 HAVE_SYMLINK
349 HAVE_SYNC
350 HAVE_SYS_BITYPES_H
351 HAVE_SYS_INTTYPES_H
352 HAVE_SYS_LOADAVG_H
353 HAVE_SYS_PARAM_H
354 HAVE_SYS_RESOURCE_H
355 HAVE_SYS_SELECT_H
356 HAVE_SYS_SOCKET_H
357 HAVE_SYS_SOUNDCARD_H
358 HAVE_SYS_STAT_H
359 HAVE_SYS_SYSTEMINFO_H
360 HAVE_SYS_TIMEB_H
361 HAVE_SYS_TIME_H
362 HAVE_SYS_TYPES_H
363 HAVE_SYS_UN_H
364 HAVE_SYS_UTSNAME_H
365 HAVE_SYS_VLIMIT_H
366 HAVE_SYS_WAIT_H
367 HAVE_TCATTR
368 HAVE_TERM_H
369 HAVE_TIFF
370 HAVE_TIMEVAL
371 HAVE_TM_GMTOFF
372 HAVE_TM_ZONE
373 HAVE_TOUCHLOCK
374 HAVE_TZNAME
375 HAVE_TZSET
376 HAVE_UNISTD_H
377 HAVE_UNSIGNED_LONG_LONG_INT
378 HAVE_UTIL_H
379 HAVE_UTIMENSAT
380 HAVE_UTIMES
381 HAVE_UTIME_H
382 HAVE_UTMP_H
383 HAVE_VFORK
384 HAVE_VFORK_H
385 HAVE_WCHAR_H
386 HAVE_WCHAR_T
387 HAVE_WINDOW_SYSTEM
388 HAVE_WINSOCK2_H
389 HAVE_WORKING_FORK
390 HAVE_WORKING_UTIMES
391 HAVE_WORKING_VFORK
392 HAVE_WS2TCPIP_H
393 HAVE_XAW3D
394 HAVE_XFT
395 HAVE_XIM
396 HAVE_XKBGETKEYBOARD
397 HAVE_XPM
398 HAVE_XRMSETDATABASE
399 HAVE_XSCREENNUMBEROFSCREEN
400 HAVE_XSCREENRESOURCESTRING
401 HAVE_X_I18N
402 HAVE_X_MENU
403 HAVE_X_SM
404 HAVE_X_WINDOWS
405 HAVE__BOOL
406 HAVE__FTIME
407 HAVE___BUILTIN_UNWIND_INIT
408 HAVE___EXECUTABLE_START
409 HAVE___FPENDING
410 INTERNAL_TERMINAL
411 IS_ANY_SEP
412 IS_DIRECTORY_SEP
413 LOCALTIME_CACHE
414 MAIL_USE_FLOCK
415 MAIL_USE_LOCKF
416 MAIL_USE_POP
417 MAIL_USE_SYSTEM_LOCK
418 MAXPATHLEN
419 NLIST_STRUCT
420 NO_EDITRES
421 NSIG
422 NSIG_MINIMUM
423 NULL_DEVICE
424 ORDINARY_LINK
425 O_RDONLY
426 O_RDWR
427 PAGESIZE
428 PREFER_VSUSP
429 PTY_ITERATION
430 PTY_NAME_SPRINTF
431 PTY_OPEN
432 PTY_TTY_NAME_SPRINTF
433 PURESIZE
434 RUN_TIME_REMAP
435 SETPGRP_RELEASES_CTTY
436 SETUP_SLAVE_PTY
437 SIGALRM
438 SIGCHLD
439 SIGHUP
440 SIGKILL
441 SIGNALS_VIA_CHARACTERS
442 SIGPIPE
443 SIGQUIT
444 SIGTRAP
445 STDC_HEADERS
446 SYSTEM_PURESIZE_EXTRA
447 SYSTEM_MALLOC
448 TAB3
449 TABDLY
450 TERM
451 TIME_WITH_SYS_TIME
452 TIOCSIGSEND
453 TM_IN_SYS_TIME
454 ULIMIT_BREAK_VALUE
455 UNIX98_PTYS
456 USE_TOOLKIT_SCROLL_BARS
457 USG_SUBTTY_WORKS
458 VALBITS
459 XOS_NEEDS_TIME_H
460 _FILE_OFFSET_BITS
461 _LP64
462 _longjmp
463 _setjmp
464 abort
465 alloca
466 close
467 emacs
468 free
469 gmtime
470 localtime
471 malloc
472 random
473 read
474 realloc
475 select
476 umask
477 vfork
478
479
480 src/sysdep.c:
481 write
482
483 src/syssignal.h:
484 signal
485 sigmask
486 sigsetmask
487
488
489 lib/dup2.c:
490 dup2
491
492 lib/signal.h:
493 signal
494
495 lib/stdio.h:
496 fdopen
497 fopen
498 fwrite
499 popen
500 rename
501
502 lib/stdlib.h:
503 calloc
504 srandom (conf_post.h may undo)
505
506 lib/strftime.c:
507 tzname
508 tzset
509
510 lib/sys/stat.h:
511 mkdir
512
513 lib/unistd.h:
514 chown
515 dup
516 dup2
517 ftruncate
518 isatty
519 link
520 lseek
521 pipe
522 rmdir
523 sleep
524 unlink
525
526
527 MS DOS stuff:
528
529 _NAIVE_DOS_REGS
530
531
532 MS stuff:
533
534 USE_CRT_DLL
535
536 ms-w32.h:
537 DebPrint
538 EMACSDEBUG
539 MUST_UNDEF__STDC__
540
541 _VARARGS_
542 _WINSOCKAPI_
543 _WINSOCK_H
544
545 access
546 calloc
547 chdir
548 chmod
549 chown
550 creat
551 ctime
552 dup
553 dup2
554 execlp
555 execvp (also emacsclient.c [WINDOWSNT])
556 fdopen
557 fileno
558 fopen
559 fsync
560 ftruncate
561 getdefdir
562 getdisk
563 getpid
564 isatty
565 kill
566 link
567 lseek
568 mkdir
569 mktemp
570 open
571 pclose
572 pipe
573 popen
574 rename
575 rmdir
576 signal
577 sleep
578 spawnve
579 strdup
580 stricmp
581 strnicmp
582 strupr
583 sys_nerr
584 tzname
585 tzset
586 umask
587 unlink
588 utimbuf
589 utime
590 wait (also movemail.c [WINDOWSNT])
591 write
592
593 lib-src/ntlib:
594 access
595 chdir
596 chmod
597 creat
598 dup
599 dup2
600 execlp
601 execvp
602 fdopen
603 fileno
604 fopen
605 getpid
606 index
607 isatty
608 lseek
609 mkdir
610 mktemp
611 open
612 pclose
613 pipe
614 popen
615 rmdir
616 rindex
617 sleep
618 umask
619 unlink
620 utime