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