* lisp/emacs-lisp/edebug.el: Use lexical-binding.
[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 BROKEN_SA_RESTART
94 BROKEN_SIGAIO
95 BROKEN_SIGIO
96 BROKEN_SIGPOLL
97 BROKEN_SIGPTY
98 CLASH_DETECTION
99 DATA_SEG_BITS
100 DATA_START
101 DEFAULT_SOUND_DEVICE
102 DEVICE_SEP
103 DIRECTORY_SEP
104 DONT_REOPEN_PTY
105 DOUG_LEA_MALLOC
106 EMACS_CONFIGURATION
107 EMACS_CONFIG_OPTIONS
108 EMACS_INT
109 EMACS_UINT
110 GC_MARK_SECONDARY_STACK
111 GC_MARK_STACK
112 GC_SETJMP_WORKS
113 GNU_MALLOC
114 HAVE_AIX_SMT_EXP
115 HAVE_ALARM
116 HAVE_ALLOCA
117 HAVE_ALLOCA_H
118 HAVE_ALSA
119 HAVE_ATTRIBUTE_ALIGNED
120 HAVE_BDFFONT
121 HAVE_BOXES
122 HAVE_C99_STRTOLD
123 HAVE_CFMAKERAW
124 HAVE_CFSETSPEED
125 HAVE_CLOCK_GETTIME
126 HAVE_CLOCK_SETTIME
127 HAVE_CLOSEDIR
128 HAVE_COFF_H
129 HAVE_COM_ERR_H
130 HAVE_COPYSIGN
131 HAVE_DBUS
132 HAVE_DBUS_TYPE_IS_VALID
133 HAVE_DBUS_VALIDATE_BUS_NAME
134 HAVE_DBUS_VALIDATE_INTERFACE
135 HAVE_DBUS_VALIDATE_MEMBER
136 HAVE_DBUS_VALIDATE_PATH
137 HAVE_DBUS_WATCH_GET_UNIX_FD
138 HAVE_DECL_GETENV
139 HAVE_DECL_LOCALTIME_R
140 HAVE_DECL_STRMODE
141 HAVE_DECL_STRTOIMAX
142 HAVE_DECL_STRTOLL
143 HAVE_DECL_STRTOULL
144 HAVE_DECL_STRTOUMAX
145 HAVE_DECL_SYS_SIGLIST
146 HAVE_DECL_TZNAME
147 HAVE_DECL___SYS_SIGLIST
148 HAVE_DES_H
149 HAVE_DEV_PTMX
150 HAVE_DIALOGS
151 HAVE_DIFFTIME
152 HAVE_DIRENT_H
153 HAVE_DUP2
154 HAVE_ENDGRENT
155 HAVE_ENDPWENT
156 HAVE_ENVIRON_DECL
157 HAVE_EUIDACCESS
158 HAVE_FCNTL_H
159 HAVE_FORK
160 HAVE_FPATHCONF
161 HAVE_FREEIFADDRS
162 HAVE_FREETYPE
163 HAVE_FSEEKO
164 HAVE_FSYNC
165 HAVE_FUTIMENS
166 HAVE_FUTIMES
167 HAVE_FUTIMESAT
168 HAVE_GAI_STRERROR
169 HAVE_GCONF
170 HAVE_GETADDRINFO
171 HAVE_GETCWD
172 HAVE_GETDELIM
173 HAVE_GETGRENT
174 HAVE_GETHOSTNAME
175 HAVE_GETIFADDRS
176 HAVE_GETLINE
177 HAVE_GETLOADAVG
178 HAVE_GETOPT_H
179 HAVE_GETOPT_LONG_ONLY
180 HAVE_GETPAGESIZE
181 HAVE_GETPEERNAME
182 HAVE_GETPT
183 HAVE_GETPWENT
184 HAVE_GETRLIMIT
185 HAVE_GETRUSAGE
186 HAVE_GETSOCKNAME
187 HAVE_GETTIMEOFDAY
188 HAVE_GETWD
189 HAVE_GET_CURRENT_DIR_NAME
190 HAVE_GHOSTSCRIPT
191 HAVE_GIF
192 HAVE_GNUTLS
193 HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY
194 HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
195 HAVE_GPM
196 HAVE_GRANTPT
197 HAVE_GSETTINGS
198 HAVE_GTK3
199 HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
200 HAVE_GTK_DIALOG_GET_ACTION_AREA
201 HAVE_GTK_FILE_SELECTION_NEW
202 HAVE_GTK_MAIN
203 HAVE_GTK_MULTIDISPLAY
204 HAVE_GTK_ORIENTABLE_SET_ORIENTATION
205 HAVE_GTK_WIDGET_GET_MAPPED
206 HAVE_GTK_WIDGET_GET_SENSITIVE
207 HAVE_GTK_WIDGET_GET_WINDOW
208 HAVE_GTK_WIDGET_SET_HAS_WINDOW
209 HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
210 HAVE_G_TYPE_INIT
211 HAVE_H_ERRNO
212 HAVE_IFADDRS_H
213 HAVE_IMAGEMAGICK
214 HAVE_INET_SOCKETS
215 HAVE_INTTYPES_H
216 HAVE_JPEG
217 HAVE_KERBEROSIV_DES_H
218 HAVE_KERBEROSIV_KRB_H
219 HAVE_KERBEROS_DES_H
220 HAVE_KERBEROS_KRB_H
221 HAVE_KRB5_ERROR_E_TEXT
222 HAVE_KRB5_ERROR_TEXT
223 HAVE_KRB5_H
224 HAVE_KRB_H
225 HAVE_LANGINFO_CODESET
226 HAVE_LIBCOM_ERR
227 HAVE_LIBCRYPTO
228 HAVE_LIBDES
229 HAVE_LIBDES425
230 HAVE_LIBDGC
231 HAVE_LIBDNET
232 HAVE_LIBHESIOD
233 HAVE_LIBK5CRYPTO
234 HAVE_LIBKRB
235 HAVE_LIBKRB4
236 HAVE_LIBKRB5
237 HAVE_LIBKSTAT
238 HAVE_LIBLOCKFILE
239 HAVE_LIBM
240 HAVE_LIBMAIL
241 HAVE_LIBOTF
242 HAVE_LIBPERFSTAT
243 HAVE_LIBPNG_PNG_H
244 HAVE_LIBPTHREADS
245 HAVE_LIBRESOLV
246 HAVE_LIBSELINUX
247 HAVE_LIBXEXT
248 HAVE_LIBXML2
249 HAVE_LIBXMU
250 HAVE_LINUX_VERSION_H
251 HAVE_LOCALTIME_R
252 HAVE_LOCAL_SOCKETS
253 HAVE_LONG_FILE_NAMES
254 HAVE_LONG_LONG_INT
255 HAVE_LRAND48
256 HAVE_LSTAT
257 HAVE_LUTIMES
258 HAVE_M17N_FLT
259 HAVE_MACHINE_SOUNDCARD_H
260 HAVE_MACH_MACH_H
261 HAVE_MAGICKEXPORTIMAGEPIXELS
262 HAVE_MAGICKMERGEIMAGELAYERS
263 HAVE_MAILLOCK_H
264 HAVE_MALLOC_MALLOC_H
265 HAVE_MATHERR
266 HAVE_MBSTATE_T
267 HAVE_MEMCMP
268 HAVE_MEMMOVE
269 HAVE_MEMORY_H
270 HAVE_MEMSET
271 HAVE_MENUS
272 HAVE_MKSTEMP
273 HAVE_MMAP
274 HAVE_MOUSE
275 HAVE_MULTILINGUAL_MENU
276 HAVE_NANOTIME
277 HAVE_NET_IF_DL_H
278 HAVE_NET_IF_H
279 HAVE_NLIST_H
280 HAVE_OTF_GET_VARIATION_GLYPHS
281 HAVE_PERSONALITY_LINUX32
282 HAVE_PNG
283 HAVE_PNG_H
284 HAVE_POSIX_MEMALIGN
285 HAVE_PROCFS
286 HAVE_PSELECT
287 HAVE_PSTAT_GETDYNAMIC
288 HAVE_PTHREAD
289 HAVE_PTHREAD_H
290 HAVE_PTHREAD_SIGMASK
291 HAVE_PTYS
292 HAVE_PTY_H
293 HAVE_PWD_H
294 HAVE_RANDOM
295 HAVE_READLINK
296 HAVE_READLINKAT
297 HAVE_RECVFROM
298 HAVE_RES_INIT
299 HAVE_RINT
300 HAVE_RSVG
301 HAVE_SELECT
302 HAVE_SENDTO
303 HAVE_SEQPACKET
304 HAVE_SETITIMER
305 HAVE_SETLOCALE
306 HAVE_SETPGID
307 HAVE_SETRLIMIT
308 HAVE_SETSID
309 HAVE_SHARED_GAME_DIR
310 HAVE_SHUTDOWN
311 HAVE_SIGNED_${GLTYPE}
312 HAVE_SIGNED_SIG_ATOMIC_T
313 HAVE_SIGNED_WCHAR_T
314 HAVE_SIGNED_WINT_T
315 HAVE_SIGSET_T
316 HAVE_SIZE_T
317 HAVE_SNPRINTF
318 HAVE_SOCKETS
319 HAVE_SOUND
320 HAVE_SOUNDCARD_H
321 HAVE_SPEED_T
322 HAVE_STDINT_H
323 HAVE_STDIO_EXT_H
324 HAVE_STDLIB_H
325 HAVE_STLIB_H_1
326 HAVE_STRINGS_H
327 HAVE_STRING_H
328 HAVE_STRNCASECMP
329 HAVE_STRSIGNAL
330 HAVE_STRTOIMAX
331 HAVE_STRTOLL
332 HAVE_STRTOULL
333 HAVE_STRTOUMAX
334 HAVE_STRUCT_ERA_ENTRY
335 HAVE_STRUCT_IFREQ_IFR_ADDR
336 HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN
337 HAVE_STRUCT_IFREQ_IFR_BROADADDR
338 HAVE_STRUCT_IFREQ_IFR_FLAGS
339 HAVE_STRUCT_IFREQ_IFR_HWADDR
340 HAVE_STRUCT_IFREQ_IFR_NETMASK
341 HAVE_STRUCT_NLIST_N_UN_N_NAME
342 HAVE_STRUCT_STAT_ST_ATIMENSEC
343 HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
344 HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
345 HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
346 HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
347 HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
348 HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
349 HAVE_STRUCT_TIMEZONE
350 HAVE_STRUCT_TM_TM_ZONE
351 HAVE_STRUCT_UTIMBUF
352 HAVE_ST_DM_MODE
353 HAVE_SYMLINK
354 HAVE_SYNC
355 HAVE_SYS_BITYPES_H
356 HAVE_SYS_INTTYPES_H
357 HAVE_SYS_LOADAVG_H
358 HAVE_SYS_PARAM_H
359 HAVE_SYS_RESOURCE_H
360 HAVE_SYS_SELECT_H
361 HAVE_SYS_SOCKET_H
362 HAVE_SYS_SOUNDCARD_H
363 HAVE_SYS_STAT_H
364 HAVE_SYS_SYSTEMINFO_H
365 HAVE_SYS_TIMEB_H
366 HAVE_SYS_TIME_H
367 HAVE_SYS_TYPES_H
368 HAVE_SYS_UN_H
369 HAVE_SYS_UTSNAME_H
370 HAVE_SYS_VLIMIT_H
371 HAVE_SYS_WAIT_H
372 HAVE_TCATTR
373 HAVE_TERM_H
374 HAVE_TIFF
375 HAVE_TIMEVAL
376 HAVE_TM_GMTOFF
377 HAVE_TM_ZONE
378 HAVE_TOUCHLOCK
379 HAVE_TZNAME
380 HAVE_TZSET
381 HAVE_UNISTD_H
382 HAVE_UNSIGNED_LONG_LONG_INT
383 HAVE_UTIL_H
384 HAVE_UTIMENSAT
385 HAVE_UTIMES
386 HAVE_UTIME_H
387 HAVE_UTMP_H
388 HAVE_VFORK
389 HAVE_VFORK_H
390 HAVE_WCHAR_H
391 HAVE_WCHAR_T
392 HAVE_WINDOW_SYSTEM
393 HAVE_WINSOCK2_H
394 HAVE_WORKING_FORK
395 HAVE_WORKING_UTIMES
396 HAVE_WORKING_VFORK
397 HAVE_WS2TCPIP_H
398 HAVE_XAW3D
399 HAVE_XFT
400 HAVE_XIM
401 HAVE_XKBGETKEYBOARD
402 HAVE_XPM
403 HAVE_XRMSETDATABASE
404 HAVE_XSCREENNUMBEROFSCREEN
405 HAVE_XSCREENRESOURCESTRING
406 HAVE_X_I18N
407 HAVE_X_MENU
408 HAVE_X_SM
409 HAVE_X_WINDOWS
410 HAVE__BOOL
411 HAVE__FTIME
412 HAVE___BUILTIN_UNWIND_INIT
413 HAVE___EXECUTABLE_START
414 HAVE___FPENDING
415 INTERNAL_TERMINAL
416 IS_ANY_SEP
417 IS_DIRECTORY_SEP
418 LOCALTIME_CACHE
419 MAIL_USE_FLOCK
420 MAIL_USE_LOCKF
421 MAIL_USE_POP
422 MAIL_USE_SYSTEM_LOCK
423 MAXPATHLEN
424 NLIST_STRUCT
425 NO_EDITRES
426 NO_TERMIO
427 NSIG
428 NSIG_MINIMUM
429 NULL_DEVICE
430 ORDINARY_LINK
431 O_RDONLY
432 O_RDWR
433 PAGESIZE
434 PENDING_OUTPUT_COUNT
435 PREFER_VSUSP
436 PTY_ITERATION
437 PTY_NAME_SPRINTF
438 PTY_OPEN
439 PTY_TTY_NAME_SPRINTF
440 PURESIZE
441 RUN_TIME_REMAP
442 SA_RESTART
443 SETPGRP_RELEASES_CTTY
444 SETUP_SLAVE_PTY
445 SIGALRM
446 SIGCHLD
447 SIGHUP
448 SIGKILL
449 SIGNALS_VIA_CHARACTERS
450 SIGPIPE
451 SIGQUIT
452 SIGTRAP
453 STDC_HEADERS
454 SYSTEM_PURESIZE_EXTRA
455 SYSTEM_MALLOC
456 TAB3
457 TABDLY
458 TERM
459 TIME_WITH_SYS_TIME
460 TIOCSIGSEND
461 TM_IN_SYS_TIME
462 ULIMIT_BREAK_VALUE
463 UNIX98_PTYS
464 USE_TOOLKIT_SCROLL_BARS
465 USG_SUBTTY_WORKS
466 VALBITS
467 XOS_NEEDS_TIME_H
468 _FILE_OFFSET_BITS
469 _LP64
470 _longjmp
471 _setjmp
472 abort
473 alloca
474 close
475 emacs
476 free
477 gmtime
478 localtime
479 malloc
480 random
481 read
482 realloc
483 select
484 umask
485 vfork
486
487
488 src/sysdep.c:
489 write
490
491 src/syssignal.h:
492 signal
493 sigmask
494 sigsetmask
495
496
497 lib/dup2.c:
498 dup2
499
500 lib/signal.h:
501 signal
502
503 lib/stdio.h:
504 fdopen
505 fopen
506 fwrite
507 popen
508 rename
509
510 lib/stdlib.h:
511 calloc
512 srandom (conf_post.h may undo)
513
514 lib/strftime.c:
515 tzname
516 tzset
517
518 lib/sys/stat.h:
519 mkdir
520
521 lib/unistd.h:
522 chown
523 dup
524 dup2
525 ftruncate
526 isatty
527 link
528 lseek
529 pipe
530 rmdir
531 sleep
532 unlink
533
534
535 MS DOS stuff:
536
537 _NAIVE_DOS_REGS
538
539
540 MS stuff:
541
542 USE_CRT_DLL
543
544 ms-w32.h:
545 DebPrint
546 EMACSDEBUG
547 MUST_UNDEF__STDC__
548
549 _VARARGS_
550 _WINSOCKAPI_
551 _WINSOCK_H
552
553 access
554 calloc
555 chdir
556 chmod
557 chown
558 creat
559 ctime
560 dup
561 dup2
562 execlp
563 execvp (also emacsclient.c [WINDOWSNT])
564 fdopen
565 fileno
566 fopen
567 fsync
568 ftruncate
569 getdefdir
570 getdisk
571 getpid
572 isatty
573 kill
574 link
575 lseek
576 mkdir
577 mktemp
578 open
579 pclose
580 pipe
581 popen
582 rename
583 rmdir
584 signal
585 sleep
586 spawnve
587 strdup
588 stricmp
589 strnicmp
590 strupr
591 sys_nerr
592 tzname
593 tzset
594 umask
595 unlink
596 utimbuf
597 utime
598 wait (also movemail.c [WINDOWSNT])
599 write
600
601 lib-src/ntlib:
602 access
603 chdir
604 chmod
605 creat
606 dup
607 dup2
608 execlp
609 execvp
610 fdopen
611 fileno
612 fopen
613 getpid
614 index
615 isatty
616 lseek
617 mkdir
618 mktemp
619 open
620 pclose
621 pipe
622 popen
623 rmdir
624 rindex
625 sleep
626 umask
627 unlink
628 utime