* admin/CPP-DEFINES: Updates.
[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 NARROWPROTO
59 SEPCHAR
60 SIGTYPE
61 SYSTEM_TYPE
62 USE_MMAP_FOR_BUFFERS
63
64 ** Machine specific macros, decribed in detail in src/m/template.h
65 CANNOT_DUMP
66 EXPLICIT_SIGN_EXTEND
67 LOAD_AVE_CVT
68 LOAD_AVE_TYPE
69 NO_REMAP
70 VIRT_ADDR_VARIES
71 WORDS_BIG_ENDIAN
72
73 ** Misc macros
74 USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
75
76 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
77
78 ** 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.
79
80
81 AIX
82 AMPERSAND_FULL_NAME
83 BCOPY_DOWNWARD_SAFE
84 BCOPY_UPWARD_SAFE
85 BITS_PER_EMACS_INT
86 BITS_PER_LONG
87 BITS_PER_CHAR
88 BITS_PER_SHORT
89 BITS_PER_INT
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_SYSTEM
103 CLASH_DETECTION
104 DATA_SEG_BITS
105 DATA_START
106 DBL_MIN_REPLACEMENT
107 DECLARE_GETPWUID_WITH_UID_T
108 DEFAULT_SOUND_DEVICE
109 DEVICE_SEP
110 DIRECTORY_SEP
111 DONT_REOPEN_PTY
112 DOUG_LEA_MALLOC
113 DebPrint
114 EMACSDEBUG
115 EMACS_CONFIGURATION
116 EMACS_CONFIG_OPTIONS
117 EMACS_INT
118 EMACS_UINT
119 FILE_SYSTEM_CASE
120 FLOAT_CHECK_DOMAIN
121 FSCALE
122 GAP_USE_BCOPY
123 GC_LISP_OBJECT_ALIGNMENT
124 GC_MARK_SECONDARY_STACK
125 GC_MARK_STACK
126 GC_SETJMP_WORKS
127 GMALLOC_INHIBIT_VALLOC
128 GNU_LIBRARY_PENDING_OUTPUT_COUNT
129 GNU_LINUX
130 GNU_MALLOC
131 HAVE_AIX_SMT_EXP
132 HAVE_ALLOCA
133 HAVE_BCMP
134 HAVE_BCOPY
135 HAVE_CBRT
136 HAVE_CLOSEDIR
137 HAVE_DUP2
138 HAVE_EUIDACCESS
139 HAVE_FMOD
140 HAVE_FPATHCONF
141 HAVE_FREXP
142 HAVE_FSYNC
143 HAVE_FTIME
144 HAVE_GETCWD
145 HAVE_GETDOMAINNAME
146 HAVE_GETHOSTNAME
147 HAVE_GETLOADAVG
148 HAVE_GETPAGESIZE
149 HAVE_GETPT
150 HAVE_GETTIMEOFDAY
151 HAVE_GETWD
152 HAVE_H_ERRNO
153 HAVE_INDEX
154 HAVE_INET_SOCKETS
155 HAVE_INVERSE_HYPERBOLIC
156 HAVE_LIBKSTAT
157 HAVE_LIMITS_H
158 HAVE_LINUX_VERSION_H
159 HAVE_LOGB
160 HAVE_LONG_FILE_NAMES
161 HAVE_LRAND48
162 HAVE_MENUS
163 HAVE_MKDIR
164 HAVE_MKTIME
165 HAVE_MOUSE
166 HAVE_PERROR
167 HAVE_PSTAT_GETDYNAMIC
168 HAVE_PWD_H
169 HAVE_RANDOM
170 HAVE_RENAME
171 HAVE_RES_INIT
172 HAVE_RINDEX
173 HAVE_RINT
174 HAVE_RMDIR
175 HAVE_SELECT
176 HAVE_SETLOCALE
177 HAVE_SETPGID
178 HAVE_SETRLIMIT
179 HAVE_SETSID
180 HAVE_SHUTDOWN
181 HAVE_SOCKETS
182 HAVE_SOUND
183 HAVE_STDLIB_H
184 HAVE_STRERROR
185 HAVE_STRFTIME
186 HAVE_STRING_H
187 HAVE_STRUCT_UTIMBUF
188 HAVE_SYSINFO
189 HAVE_SYSV_SIGPAUSE
190 HAVE_SYS_SELECT_H
191 HAVE_SYS_SYSTEMINFO_H
192 HAVE_SYS_TIMEB_H
193 HAVE_SYS_TIME_H
194 HAVE_TCATTR
195 HAVE_TERMIOS_H
196 HAVE_TEXT_START
197 HAVE_TIMEVAL
198 HAVE_TM_ZONE
199 HAVE_TZSET
200 HAVE_UNISTD_H
201 HAVE_UTIMES
202 HAVE_UTIME_H
203 HAVE_VOLATILE
204 HAVE_WINDOW_SYSTEM
205 HAVE_WORKING_VFORK
206 HAVE_XRMSETDATABASE
207 HPUX
208 INHIBIT_X11R6_XIM
209 INTERNAL_TERMINAL
210 IS_ANY_SEP
211 IS_DIRECTORY_SEP
212 KERNEL_FILE
213 LDAV_SYMBOL
214 LINKER
215 LINUX_VERSION_CODE
216 LISP_FLOAT_TYPE
217 LNOFLSH
218 LOCALTIME_CACHE
219 MAIL_USE_FLOCK
220 MAIL_USE_LOCKF
221 MAIL_USE_POP
222 MAIL_USE_SYSTEM_LOCK
223 MAXPATHLEN
224 MIN_PTY_KERNEL_VERSION -- only used on Mac
225 MODE_LINE_BINARY_TEXT
226 MUST_UNDEF__STDC__
227 NLIST_STRUCT
228 NOT_C_CODE
229 NO_ABORT
230 NO_EDITRES
231 NO_MATHERR
232 NO_TERMIO
233 NSIG
234 NSIG_MINIMUM
235 NULL
236 NULL_DEVICE
237 ORDINARY_LINK
238 O_APPEND
239 O_RDONLY
240 O_RDWR
241 PAGESIZE
242 PENDING_OUTPUT_COUNT
243 POSIX
244 PREFER_VSUSP
245 PTY_ITERATION
246 PTY_NAME_SPRINTF
247 PTY_OPEN
248 PTY_TTY_NAME_SPRINTF
249 PURESIZE
250 RUN_TIME_REMAP
251 SA_RESTART
252 SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
253 SEGMENT_MASK
254 SETPGRP_RELEASES_CTTY
255 SETUP_SLAVE_PTY
256 SIGALRM
257 SIGCHLD
258 SIGHUP
259 SIGKILL
260 SIGNALS_VIA_CHARACTERS
261 SIGPIPE
262 SIGQUIT
263 SIGTRAP
264 SIGTYPE
265 SOLARIS2
266 STDC_HEADERS
267 SYMS_SYSTEM
268 SYSTEM_PURESIZE_EXTRA
269 SYSTEM_MALLOC
270 SYSV_SYSTEM_DIR
271 TAB3
272 TABDLY
273 TERM
274 TEXT_START
275 THIS_IS_CONFIGURE
276 TIME_WITH_SYS_TIME
277 TIOCSIGSEND
278 TM_IN_SYS_TIME
279 ULIMIT_BREAK_VALUE
280 UNEXEC
281 UNIX98_PTYS
282 USE_CRT_DLL
283 USE_TOOLKIT_SCROLL_BARS
284 USG
285 USG5
286 USG5_4
287 USG_SUBTTY_WORKS
288 VALBITS
289 WORDS_BIG_ENDIAN
290 WRETCODE
291 XINT
292 XOS_NEEDS_TIME_H
293 XPNTR
294 XSET
295 XUINT
296 _AIX
297 _ARCH_PPC64
298 _CALLBACK_
299 _FILE_OFFSET_BITS
300 _LP64
301 _MALLOC_INTERNAL
302 _NAIVE_DOS_REGS
303 _VARARGS_
304 _WINSOCKAPI_
305 _WINSOCK_H
306 __ELF__
307 __FreeBSD__
308 __GNUC__
309 __GNU_LIBRARY__
310 __GNUC_MINOR__
311 __NetBSD__
312 __OpenBSD__
313 __STDC__
314 __arch64__
315 __cplusplus
316 __hpux
317 __ia64__
318 __linux__
319 __mc68000__
320 __mips__
321 _longjmp
322 _setjmp
323 _start
324 abort
325 access
326 alloca
327 bcmp
328 bcopy
329 brk
330 bzero
331 calloc
332 chdir
333 chmod
334 chown
335 close
336 const
337 creat
338 ctime
339 dup
340 dup2
341 edata
342 emacs
343 etext
344 execlp
345 execvp
346 fdopen
347 fileno
348 fopen
349 free
350 fsync
351 ftruncate
352 fwrite
353 getdefdir
354 getdisk
355 getenv
356 getpid
357 getuid
358 gmtime
359 i386
360 index
361 init_process
362 isatty
363 kill
364 link
365 linux
366 localtime
367 logb
368 lseek
369 m68k
370 malloc
371 mkdir
372 mktemp
373 open
374 pclose
375 pipe
376 popen
377 random
378 read
379 realloc
380 rename
381 rindex
382 rmdir
383 sbrk
384 select
385 sigmask
386 signal
387 sigsetmask
388 sleep
389 spawnve
390 srandom
391 strdup
392 strerror
393 stricmp
394 strnicmp
395 strupr
396 sys_nerr
397 system
398 temacs
399 tzname
400 tzset
401 umask
402 unix
403 unlink
404 utimbuf
405 utime
406 vfork
407 wait
408 write
409 xfree
410
411 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250