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