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 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 BROKEN_DATAGRAM_SOCKETS
88 BROKEN_FIONREAD
89 BROKEN_GET_CURRENT_DIR_NAME
90 BROKEN_NON_BLOCKING_CONNECT
91 BROKEN_PTY_READ_AFTER_EAGAIN
92 BROKEN_SA_RESTART
93 BROKEN_SIGAIO
94 BROKEN_SIGIO
95 BROKEN_SIGPOLL
96 BROKEN_SIGPTY
97 BSD4_2
98 BSD4_3
99 BSD_SYSTEM
100 CLASH_DETECTION
101 C_SWITCH_X_SYSTEM
102 DATA_SEG_BITS
103 DATA_START
104 DBL_MIN_REPLACEMENT
105 DECLARE_GETPWUID_WITH_UID_T
106 DEFAULT_SOUND_DEVICE
107 DEVICE_SEP
108 DIRECTORY_SEP
109 DONT_REOPEN_PTY
110 DOUG_LEA_MALLOC
111 DebPrint
112 EMACSDEBUG
113 EMACS_CONFIGURATION
114 EMACS_CONFIG_OPTIONS
115 EMACS_INT
116 EMACS_UINT
117 END_FILES_1
118 FILE_SYSTEM_CASE
119 FLOAT_CHECK_DOMAIN
120 FSCALE
121 GAP_USE_BCOPY
122 GC_LISP_OBJECT_ALIGNMENT
123 GC_MARK_SECONDARY_STACK
124 GC_MARK_STACK
125 GC_SETJMP_WORKS
126 GMALLOC_INHIBIT_VALLOC
127 GNU_LIBRARY_PENDING_OUTPUT_COUNT
128 GNU_LINUX
129 GNU_MALLOC
130 HAVE_AIX_SMT_EXP
131 HAVE_ALLOCA
132 HAVE_BCMP
133 HAVE_BCOPY
134 HAVE_CBRT
135 HAVE_CLOSEDIR
136 HAVE_CRTIN
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_LIBNCURSES
158 HAVE_LIBPTHREADS
159 HAVE_LIBXMU
160 HAVE_LIMITS_H
161 HAVE_LINUX_VERSION_H
162 HAVE_LOGB
163 HAVE_LONG_FILE_NAMES
164 HAVE_LRAND48
165 HAVE_MENUS
166 HAVE_MKDIR
167 HAVE_MKTIME
168 HAVE_MOUSE
169 HAVE_PERROR
170 HAVE_PSTAT_GETDYNAMIC
171 HAVE_PWD_H
172 HAVE_RANDOM
173 HAVE_RENAME
174 HAVE_RES_INIT
175 HAVE_RINDEX
176 HAVE_RINT
177 HAVE_RMDIR
178 HAVE_SELECT
179 HAVE_SETLOCALE
180 HAVE_SETPGID
181 HAVE_SETRLIMIT
182 HAVE_SETSID
183 HAVE_SHUTDOWN
184 HAVE_SOCKETS
185 HAVE_SOUND
186 HAVE_STDLIB_H
187 HAVE_STRERROR
188 HAVE_STRFTIME
189 HAVE_STRING_H
190 HAVE_STRUCT_UTIMBUF
191 HAVE_SYSINFO
192 HAVE_SYSV_SIGPAUSE
193 HAVE_SYS_SELECT_H
194 HAVE_SYS_SYSTEMINFO_H
195 HAVE_SYS_TIMEB_H
196 HAVE_SYS_TIME_H
197 HAVE_TCATTR
198 HAVE_TERMIOS_H
199 HAVE_TEXT_START
200 HAVE_TIMEVAL
201 HAVE_TM_ZONE
202 HAVE_TZSET
203 HAVE_UNISTD_H
204 HAVE_UTIMES
205 HAVE_UTIME_H
206 HAVE_VOLATILE
207 HAVE_WINDOW_SYSTEM
208 HAVE_WORKING_VFORK
209 HAVE_XRMSETDATABASE
210 HPUX
211 INHIBIT_X11R6_XIM
212 INTERNAL_TERMINAL
213 IS_ANY_SEP
214 IS_DIRECTORY_SEP
215 KERNEL_FILE
216 LDAV_SYMBOL
217 LINKER
218 LINUX_VERSION_CODE
219 LISP_FLOAT_TYPE
220 LNOFLSH
221 LOCALTIME_CACHE
222 MAIL_USE_FLOCK
223 MAIL_USE_LOCKF
224 MAIL_USE_POP
225 MAIL_USE_SYSTEM_LOCK
226 MAXPATHLEN
227 MIN_PTY_KERNEL_VERSION -- only used on Mac
228 MODE_LINE_BINARY_TEXT
229 MUST_UNDEF__STDC__
230 NLIST_STRUCT
231 NOT_C_CODE
232 NO_ABORT
233 NO_EDITRES
234 NO_MATHERR
235 NO_TERMIO
236 NSIG
237 NSIG_MINIMUM
238 NULL
239 NULL_DEVICE
240 ORDINARY_LINK
241 O_APPEND
242 O_RDONLY
243 O_RDWR
244 PAGESIZE
245 PENDING_OUTPUT_COUNT
246 POSIX
247 PREFER_VSUSP
248 PTY_ITERATION
249 PTY_NAME_SPRINTF
250 PTY_OPEN
251 PTY_TTY_NAME_SPRINTF
252 PURESIZE
253 RUN_TIME_REMAP
254 SA_RESTART
255 SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
256 SEGMENT_MASK
257 SETPGRP_RELEASES_CTTY
258 SETUP_SLAVE_PTY
259 SIGALRM
260 SIGCHLD
261 SIGHUP
262 SIGKILL
263 SIGNALS_VIA_CHARACTERS
264 SIGPIPE
265 SIGQUIT
266 SIGTRAP
267 SIGTYPE
268 SOLARIS2
269 START_FILES
270 START_FILES_1
271 STDC_HEADERS
272 SYMS_SYSTEM
273 SYSTEM_PURESIZE_EXTRA
274 SYSTEM_MALLOC
275 SYSV_SYSTEM_DIR
276 TAB3
277 TABDLY
278 TERM
279 TEXT_START
280 THIS_IS_CONFIGURE
281 TIME_WITH_SYS_TIME
282 TIOCSIGSEND
283 TM_IN_SYS_TIME
284 ULIMIT_BREAK_VALUE
285 UNEXEC
286 UNIX98_PTYS
287 USE_CRT_DLL
288 USE_TOOLKIT_SCROLL_BARS
289 USG
290 USG5
291 USG5_4
292 USG_SUBTTY_WORKS
293 VALBITS
294 WORDS_BIG_ENDIAN
295 WRETCODE
296 XINT
297 XOS_NEEDS_TIME_H
298 XPNTR
299 XSET
300 XUINT
301 _AIX
302 _ARCH_PPC64
303 _CALLBACK_
304 _FILE_OFFSET_BITS
305 _LP64
306 _MALLOC_INTERNAL
307 _NAIVE_DOS_REGS
308 _VARARGS_
309 _WINSOCKAPI_
310 _WINSOCK_H
311 __ELF__
312 __FreeBSD__
313 __GNUC__
314 __GNU_LIBRARY__
315 __GNUC_MINOR__
316 __NetBSD__
317 __OpenBSD__
318 __STDC__
319 __arch64__
320 __cplusplus
321 __hpux
322 __ia64__
323 __linux__
324 __mc68000__
325 __mips__
326 _longjmp
327 _setjmp
328 _start
329 abort
330 access
331 alloca
332 bcmp
333 bcopy
334 brk
335 bzero
336 calloc
337 chdir
338 chmod
339 chown
340 close
341 const
342 creat
343 ctime
344 dup
345 dup2
346 edata
347 emacs
348 etext
349 execlp
350 execvp
351 fdopen
352 fileno
353 fopen
354 free
355 fsync
356 ftruncate
357 fwrite
358 getdefdir
359 getdisk
360 getenv
361 getpid
362 getuid
363 gmtime
364 i386
365 index
366 init_process
367 isatty
368 kill
369 link
370 linux
371 localtime
372 logb
373 lseek
374 m68k
375 malloc
376 mkdir
377 mktemp
378 open
379 pclose
380 pipe
381 popen
382 random
383 read
384 realloc
385 rename
386 rindex
387 rmdir
388 sbrk
389 select
390 sigmask
391 signal
392 sigsetmask
393 sleep
394 spawnve
395 srandom
396 strdup
397 strerror
398 stricmp
399 strnicmp
400 strupr
401 sys_nerr
402 system
403 temacs
404 tzname
405 tzset
406 umask
407 unix
408 unlink
409 utimbuf
410 utime
411 vfork
412 wait
413 write
414 xfree
415
416 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250