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