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