* lisp/progmodes/ruby-mode.el (ruby-end-of-defun)
[emacs.git] / admin / CPP-DEFINES
blobd87feb9b866f5bb0ceff7cc400b5604f7021eb62
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_EDITRES
432 NO_MATHERR
433 NO_TERMIO
434 NSIG
435 NSIG_MINIMUM
436 NULL_DEVICE
437 ORDINARY_LINK
438 O_RDONLY
439 O_RDWR
440 PAGESIZE
441 PENDING_OUTPUT_COUNT
442 PREFER_VSUSP
443 PTY_ITERATION
444 PTY_NAME_SPRINTF
445 PTY_OPEN
446 PTY_TTY_NAME_SPRINTF
447 PURESIZE
448 RUN_TIME_REMAP
449 SA_RESTART
450 SETPGRP_RELEASES_CTTY
451 SETUP_SLAVE_PTY
452 SIGALRM
453 SIGCHLD
454 SIGHUP
455 SIGKILL
456 SIGNALS_VIA_CHARACTERS
457 SIGPIPE
458 SIGQUIT
459 SIGTRAP
460 STDC_HEADERS
461 SYSTEM_PURESIZE_EXTRA
462 SYSTEM_MALLOC
463 TAB3
464 TABDLY
465 TERM
466 TIME_WITH_SYS_TIME
467 TIOCSIGSEND
468 TM_IN_SYS_TIME
469 ULIMIT_BREAK_VALUE
470 UNIX98_PTYS
471 USE_TOOLKIT_SCROLL_BARS
472 USG_SUBTTY_WORKS
473 VALBITS
474 XOS_NEEDS_TIME_H
475 _FILE_OFFSET_BITS
476 _LP64
477 _longjmp
478 _setjmp
479 abort
480 alloca
481 close
482 emacs
483 free
484 gmtime
485 localtime
486 malloc
487 random
488 read
489 realloc
490 select
491 umask
492 vfork
495 src/sysdep.c:
496 write
498 src/syssignal.h:
499 signal
500 sigmask
501 sigsetmask
504 lib/dup2.c:
505 dup2
507 lib/signal.h:
508 signal
510 lib/stdio.h:
511 fdopen
512 fopen
513 fwrite
514 popen
515 rename
517 lib/stdlib.h:
518 calloc
519 srandom     (conf_post.h may undo)
521 lib/strftime.c:
522 tzname
523 tzset
525 lib/sys/stat.h:
526 mkdir
528 lib/unistd.h:
529 chown
531 dup2
532 ftruncate
533 isatty
534 link
535 lseek
536 pipe
537 rmdir
538 sleep
539 unlink
542 MS DOS stuff:
544 _NAIVE_DOS_REGS
547 MS stuff:
549 USE_CRT_DLL
551 ms-w32.h:
552 DebPrint
553 EMACSDEBUG
554 MUST_UNDEF__STDC__
556 _VARARGS_
557 _WINSOCKAPI_
558 _WINSOCK_H
560 access
561 calloc
562 chdir
563 chmod
564 chown
565 creat
566 ctime
568 dup2
569 execlp
570 execvp  (also emacsclient.c [WINDOWSNT])
571 fdopen
572 fileno
573 fopen
574 fsync
575 ftruncate
576 getdefdir
577 getdisk
578 getpid
579 isatty
580 kill
581 link
582 logb
583 lseek
584 mkdir
585 mktemp
586 open
587 pclose
588 pipe
589 popen
590 rename
591 rmdir
592 signal
593 sleep
594 spawnve
595 strdup
596 stricmp
597 strnicmp
598 strupr
599 sys_nerr
600 tzname
601 tzset
602 umask
603 unlink
604 utimbuf
605 utime
606 wait  (also movemail.c [WINDOWSNT])
607 write
609 lib-src/ntlib:
610 access
611 chdir
612 chmod
613 creat
615 dup2
616 execlp
617 execvp
618 fdopen
619 fileno
620 fopen
621 getpid
622 index
623 isatty
624 logb
625 lseek
626 mkdir
627 mktemp
628 open
629 pclose
630 pipe
631 popen
632 rmdir
633 rindex
634 sleep
635 umask
636 unlink
637 utime