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