Update.
[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
4 ** Distinguishing OSes **
5
6 MAC_OS8 Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
7 MAC_OSX Compiling for Mac OS X. Not bare Darwin.
8 CYGWIN Compiling the Cygwin port.
9 __CYGWIN__ Ditto
10 MSDOS Compiling the MS-DOS port.
11 __MSDOS__ Ditto.
12 __DJGPP__ Major version number of the DJGPP library for the DOS port.
13 __DJGPP_MINOR__ Minor version number of the DJGPP library.
14 __GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
15 DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
16 WINDOWSNT Compiling the native MS-Windows (W32) port.
17 __MINGW32__ Compiling the W32 port with the MinGW port of GCC.
18 _MSC_VER Compiling the W32 port with the Microsoft C compiler.
19 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
20
21 ** Distinguishing GUIs **
22
23 HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
24 MAC_OS Compiling for the `mac' window-system.
25 HAVE_CARBON Compile support for the Carbon GUI. Requires MAC_OS?
26 HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
27 NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
28 NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
29 HAVE_X11 Compile support for the X11 GUI.
30 HAVE_X_WINDOWS Compile support for X Window system
31 X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
32 USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
33 USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
34 USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
35
36 ** Frame types **
37
38 FRAME_TERMCAP_P A tty (character terminal) frame.
39 FRAME_X_P A frame on X Window system.
40 FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
41 FRAME_MAC_P A Mac frame.
42 FRAME_W32_P A frame using native MS-Windows GUI.
43 FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
44
45 ** Compile-time options **
46 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
47 SYSTEM_MALLOC Use the system library's malloc.
48 subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
49
50 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
51
52 ** Defines from src/m/*.h and src/s/*.h. Some of these might not be used in the code anymore, so they can be removed. The HAVE_* definitions are probably handled by autoconf, so it might be possible to just remove them from src/[sm]/*.h.
53
54
55 AIX
56 AMPERSAND_FULL_NAME
57 BCOPY_DOWNWARD_SAFE
58 BCOPY_UPWARD_SAFE
59 BITS_PER_EMACS_INT
60 BITS_PER_LONG
61 BROKEN_DATAGRAM_SOCKETS
62 BROKEN_FIONREAD
63 BROKEN_GET_CURRENT_DIR_NAME
64 BROKEN_NON_BLOCKING_CONNECT
65 BROKEN_PTY_READ_AFTER_EAGAIN
66 BROKEN_SA_RESTART
67 BROKEN_SIGAIO
68 BROKEN_SIGIO
69 BROKEN_SIGPOLL
70 BROKEN_SIGPTY
71 BSD4_2
72 BSD4_3
73 BSD_PGRPS
74 BSD_SYSTEM
75 BSTRING
76 CANNOT_DUMP
77 CLASH_DETECTION
78 COFF
79 COFF_BSD_SYMBOLS
80 CRT0_DUMMIES
81 C_DEBUG_SWITCH
82 C_SWITCH_MACHINE
83 C_SWITCH_SYSTEM
84 C_SWITCH_SYSTEM_TEMACS
85 C_SWITCH_X_SYSTEM
86 DATA_SEG_BITS
87 DATA_START
88 DBL_MIN_REPLACEMENT
89 DECLARE_GETPWUID_WITH_UID_T
90 DEFAULT_SOUND_DEVICE
91 DEVICE_SEP
92 DIRECTORY_SEP
93 DONT_REOPEN_PTY
94 DOUG_LEA_MALLOC
95 DebPrint
96 EMACSDEBUG
97 EMACS_CONFIGURATION
98 EMACS_CONFIG_OPTIONS
99 EMACS_INT
100 EMACS_UINT
101 END_FILES_1
102 EXPLICIT_SIGN_EXTEND
103 FILE_SYSTEM_CASE
104 FIRST_PTY_LETTER
105 FLOAT_CHECK_DOMAIN
106 FSCALE
107 Fread
108 GAP_USE_BCOPY
109 GC_LISP_OBJECT_ALIGNMENT
110 GC_MARK_SECONDARY_STACK
111 GC_MARK_STACK
112 GC_SETJMP_WORKS
113 GMALLOC_INHIBIT_VALLOC
114 GNU_LIBRARY_PENDING_OUTPUT_COUNT
115 GNU_LINUX
116 GNU_MALLOC
117 HAVE_AIX_SMT_EXP
118 HAVE_ALLOCA
119 HAVE_AVAILABILITYMACROS_H
120 HAVE_BCMP
121 HAVE_BCOPY
122 HAVE_CBRT
123 HAVE_CLOSEDIR
124 HAVE_CRTIN
125 HAVE_DUP2
126 HAVE_EUIDACCESS
127 HAVE_FMOD
128 HAVE_FPATHCONF
129 HAVE_FREXP
130 HAVE_FSYNC
131 HAVE_FTIME
132 HAVE_GETCWD
133 HAVE_GETDOMAINNAME
134 HAVE_GETHOSTNAME
135 HAVE_GETLOADAVG
136 HAVE_GETPAGESIZE
137 HAVE_GETPT
138 HAVE_GETTIMEOFDAY
139 HAVE_GETWD
140 HAVE_H_ERRNO
141 HAVE_INDEX
142 HAVE_INET_SOCKETS
143 HAVE_INVERSE_HYPERBOLIC
144 HAVE_LIB64_DIR
145 HAVE_LIBKSTAT
146 HAVE_LIBNCURSES
147 HAVE_LIBPTHREADS
148 HAVE_LIBXMU
149 HAVE_LIMITS_H
150 HAVE_LINUX_VERSION_H
151 HAVE_LOGB
152 HAVE_LONG_FILE_NAMES
153 HAVE_LRAND48
154 HAVE_MENUS
155 HAVE_MKDIR
156 HAVE_MKTIME
157 HAVE_MOUSE
158 HAVE_PERROR
159 HAVE_PSTAT_GETDYNAMIC
160 HAVE_PTYS
161 HAVE_PWD_H
162 HAVE_RANDOM
163 HAVE_RENAME
164 HAVE_RES_INIT
165 HAVE_RINDEX
166 HAVE_RINT
167 HAVE_RMDIR
168 HAVE_SELECT
169 HAVE_SETLOCALE
170 HAVE_SETPGID
171 HAVE_SETRLIMIT
172 HAVE_SETSID
173 HAVE_SHUTDOWN
174 HAVE_SOCKETS
175 HAVE_SOUND
176 HAVE_STDLIB_H
177 HAVE_STRERROR
178 HAVE_STRFTIME
179 HAVE_STRING_H
180 HAVE_STRUCT_UTIMBUF
181 HAVE_SYSINFO
182 HAVE_SYSV_SIGPAUSE
183 HAVE_SYS_SELECT_H
184 HAVE_SYS_SYSTEMINFO_H
185 HAVE_SYS_TIMEB_H
186 HAVE_SYS_TIME_H
187 HAVE_TCATTR
188 HAVE_TERMIO
189 HAVE_TERMIOS
190 HAVE_TERMIOS_H
191 HAVE_TEXT_START
192 HAVE_TIMEVAL
193 HAVE_TM_ZONE
194 HAVE_TZSET
195 HAVE_UNISTD_H
196 HAVE_UTIMES
197 HAVE_UTIME_H
198 HAVE_VOLATILE
199 HAVE_WINDOW_SYSTEM
200 HAVE_WORKING_VFORK
201 HAVE_XRMSETDATABASE
202 HPUX
203 IBMR2AIX
204 INHIBIT_X11R6_XIM
205 INTERNAL_TERMINAL
206 INTERRUPT_INPUT
207 IS_ANY_SEP
208 IS_DIRECTORY_SEP
209 KERNEL_FILE
210 LDAV_SYMBOL
211 LD_SWITCH_MACHINE
212 LD_SWITCH_MACHINE_TEMACS
213 LD_SWITCH_SYSTEM
214 LD_SWITCH_SYSTEM_TEMACS
215 LD_SWITCH_SYSTEM_tmp
216 LD_SWITCH_X_DEFAULT
217 LIBS_DEBUG
218 LIBS_MACHINE
219 LIBS_SYSTEM
220 LIBS_TERMCAP
221 LIBX11_SYSTEM
222 LIBXMU
223 LIB_GCC
224 LIB_MATH
225 LIB_MOTIF
226 LIB_STANDARD
227 LINKER
228 LINK_CRTL_SHARE
229 LINUX_VERSION_CODE
230 LISP_FLOAT_TYPE
231 LNOFLSH
232 LOAD_AVE_CVT
233 LOAD_AVE_TYPE
234 LOCALTIME_CACHE
235 MAIL_USE_FLOCK
236 MAIL_USE_LOCKF
237 MAIL_USE_POP
238 MAIL_USE_SYSTEM_LOCK
239 MAXPATHLEN
240 MAX_PRINT_CHARS
241 MIN_PTY_KERNEL_VERSION -- only used on Mac
242 MODE_LINE_BINARY_TEXT
243 MULTI_KBOARD
244 MUST_UNDEF__STDC__
245 NARROWPROTO
246 NEED_BSDTTY
247 NEED_ERRNO
248 NEED_LIBW
249 NEED_UNISTD_H
250 NLIST_STRUCT
251 NOMULTIPLEJOBS
252 NONSYSTEM_DIR_LIBRARY
253 NOT_C_CODE
254 NOT_USING_MOTIF
255 NO_ABORT
256 NO_ARG_ARRAY
257 NO_EDITRES
258 NO_HYPHENS_IN_FILENAMES
259 NO_MATHERR
260 NO_REMAP
261 NO_SHARED_LIBS
262 NO_SOCK_SIGIO
263 NO_TERMIO
264 NSIG
265 NSIG_MINIMUM
266 NULL
267 NULL_DEVICE
268 ORDINARY_LINK
269 OTHER_FILES
270 O_APPEND
271 O_BINARY
272 O_CREAT
273 O_EXCL
274 O_RDONLY
275 O_RDWR
276 O_TEXT
277 O_TRUNC
278 O_WRONLY
279 PAGESIZE
280 PENDING_OUTPUT_COUNT
281 POSIX
282 POSIX_SIGNALS
283 PREFER_VSUSP
284 PTY_ITERATION
285 PTY_NAME_SPRINTF
286 PTY_OPEN
287 PTY_TTY_NAME_SPRINTF
288 PURESIZE
289 RUN_TIME_REMAP
290 SA_RESTART
291 SECTION_ALIGNMENT
292 SEGMENT_MASK
293 SEPCHAR
294 SETPGRP_RELEASES_CTTY
295 SETUP_SLAVE_PTY
296 SHARABLE_LIB_BUG
297 SIGALRM
298 SIGCHLD
299 SIGHUP
300 SIGKILL
301 SIGNALS_VIA_CHARACTERS
302 SIGPIPE
303 SIGQUIT
304 SIGTRAP
305 SIGTYPE
306 SOLARIS2
307 START_FILES
308 START_FILES_1
309 STDC_HEADERS
310 SYMS_SYSTEM
311 SYSTEM_PURESIZE_EXTRA
312 SYSTEM_TYPE
313 SYSTEM_MALLOC
314 SYSV_SYSTEM_DIR
315 Srandom
316 TAB3
317 TABDLY
318 TERM
319 TERMINFO
320 TEXT_END
321 TEXT_START
322 THIS_IS_CONFIGURE
323 THIS_IS_MAKEFILE
324 TIME_WITH_SYS_TIME
325 TIOCSIGSEND
326 TM_IN_SYS_TIME
327 ULIMIT_BREAK_VALUE
328 UNEXEC
329 UNIX98_PTYS
330 USE_CRT_DLL
331 USE_MAC_IMAGE_IO
332 USE_MMAP_FOR_BUFFERS
333 USE_TOOLKIT_SCROLL_BARS
334 USG
335 USG5
336 USG5_4
337 USG_SUBTTY_WORKS
338 VALBITS
339 VIRT_ADDR_VARIES
340 VMS
341 WORDS_BIG_ENDIAN
342 WRETCODE
343 XINT
344 XOS_NEEDS_TIME_H
345 XPNTR
346 XSET
347 XUINT
348 _AIX
349 _ARCH_PPC64
350 _CALLBACK_
351 _FILE_OFFSET_BITS
352 _LP64
353 _MALLOC_INTERNAL
354 _NAIVE_DOS_REGS
355 _VARARGS_
356 _WINSOCKAPI_
357 _WINSOCK_H
358 __ELF__
359 __FreeBSD__
360 __FreeBSD_version
361 __GNUC__
362 __GNU_LIBRARY__
363 __GNUC_MINOR__
364 __NetBSD__
365 __OpenBSD__
366 __STDC__
367 __arch64__
368 __cplusplus
369 __hpux
370 __ia64__
371 __linux__
372 __mc68000__
373 __mips__
374 _longjmp
375 _setjmp
376 _start
377 abort
378 access
379 alloca
380 bcmp
381 bcopy
382 brk
383 bzero
384 calloc
385 chdir
386 chmod
387 chown
388 close
389 const
390 creat
391 ctime
392 dup
393 dup2
394 edata
395 emacs
396 etext
397 execlp
398 execvp
399 fdopen
400 fileno
401 fopen
402 free
403 fsync
404 ftruncate
405 fwrite
406 getdefdir
407 getdisk
408 getenv
409 getpid
410 getuid
411 gmtime
412 i386
413 index
414 init_process
415 isatty
416 kill
417 link
418 linux
419 localtime
420 logb
421 lseek
422 m68k
423 malloc
424 mkdir
425 mktemp
426 open
427 pclose
428 pipe
429 popen
430 random
431 read
432 realloc
433 rename
434 rindex
435 rmdir
436 sbrk
437 select
438 sigmask
439 signal
440 sigsetmask
441 sleep
442 spawnve
443 srandom
444 strdup
445 strerror
446 stricmp
447 strnicmp
448 strupr
449 sys_nerr
450 system
451 temacs
452 tzname
453 tzset
454 umask
455 unix
456 unlink
457 utimbuf
458 utime
459 vfork
460 wait
461 write
462 xfree
463
464 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250