* mh-e.el (Version, mh-version): Update for release 8.2.92.
[emacs.git] / admin / CPP-DEFINES
blob6e0f736a06f00e736e4d32f366f8c7598b63062d
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.
4 ** Distinguishing OSes **
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).
17 ** Distinguishing GUIs **
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   (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
26    be, and vice versa.  At least, this is true for configure, and
27    msdos; not sure about nt.)
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.
32 ** Frame types **
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.)
40 ** Support for accessing other processes on the system **
42 HAVE_PROCFS     The /proc filesystem is supported.
44 ** Compile-time options **
46 REL_ALLOC       Compile in the relocatable memory allocator ralloc.c.
47 SYSTEM_MALLOC   Use the system library's malloc.
48 subprocesses    System can use subprocesses (for M-x shell for example).  Defined by default, only MSDOS undefines it.
49 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
51 ** System specific macros, decribed in detail in src/s/template.h
52 CLASH_DETECTION
53 COFF
54 FIRST_PTY_LETTER
55 HAVE_PTYS
56 INTERRUPT_INPUT
57 NARROWPROTO
58 SEPCHAR
59 SYSTEM_TYPE
61 ** Machine specific macros, decribed in detail in src/m/template.h
62 VIRT_ADDR_VARIES
64 ** Misc macros
65 USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for getting at the full user name.  Only MSDOS overrides the default.
67 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
69 ** 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.
72 AIX
73 AMPERSAND_FULL_NAME
74 BITS_PER_EMACS_INT
75 BITS_PER_LONG
76 BITS_PER_CHAR
77 BITS_PER_SHORT
78 BITS_PER_INT
79 BROKEN_DATAGRAM_SOCKETS
80 BROKEN_FIONREAD
81 BROKEN_GET_CURRENT_DIR_NAME
82 BROKEN_NON_BLOCKING_CONNECT
83 BROKEN_PTY_READ_AFTER_EAGAIN
84 BROKEN_SA_RESTART
85 BROKEN_SIGAIO
86 BROKEN_SIGIO
87 BROKEN_SIGPOLL
88 BROKEN_SIGPTY
89 BSD4_2
90 BSD4_3
91 BSD_SYSTEM
92 CLASH_DETECTION
93 DATA_SEG_BITS
94 DATA_START
95 DBL_MIN_REPLACEMENT
96 DEFAULT_SOUND_DEVICE
97 DEVICE_SEP
98 DIRECTORY_SEP
99 DONT_REOPEN_PTY
100 DOUG_LEA_MALLOC
101 DebPrint
102 EMACSDEBUG
103 EMACS_CONFIGURATION
104 EMACS_CONFIG_OPTIONS
105 EMACS_INT
106 EMACS_UINT
107 FILE_SYSTEM_CASE
108 FLOAT_CHECK_DOMAIN
109 GC_LISP_OBJECT_ALIGNMENT
110 GC_MARK_SECONDARY_STACK
111 GC_MARK_STACK
112 GC_SETJMP_WORKS
113 GMALLOC_INHIBIT_VALLOC
114 GNU_LIBRARY_PENDING_OUTPUT_COUNT
115 GNU_LINUX
116 GNU_MALLOC
117 HAVE_AIX_SMT_EXP
118 HAVE_CBRT
119 HAVE_CLOSEDIR
120 HAVE_DUP2
121 HAVE_EUIDACCESS
122 HAVE_FMOD
123 HAVE_FPATHCONF
124 HAVE_FREXP
125 HAVE_FSYNC
126 HAVE_FTIME
127 HAVE_GETCWD
128 HAVE_GETDOMAINNAME
129 HAVE_GETHOSTNAME
130 HAVE_GETLOADAVG
131 HAVE_GETPAGESIZE
132 HAVE_GETPT
133 HAVE_GETTIMEOFDAY
134 HAVE_GETWD
135 HAVE_H_ERRNO
136 HAVE_INET_SOCKETS
137 HAVE_INVERSE_HYPERBOLIC
138 HAVE_LIBKSTAT
139 HAVE_LIMITS_H
140 HAVE_LINUX_VERSION_H
141 HAVE_LOGB
142 HAVE_LONG_FILE_NAMES
143 HAVE_LRAND48
144 HAVE_MENUS
145 HAVE_MKDIR
146 HAVE_MKTIME
147 HAVE_MOUSE
148 HAVE_PERROR
149 HAVE_PSTAT_GETDYNAMIC
150 HAVE_PWD_H
151 HAVE_RANDOM
152 HAVE_RENAME
153 HAVE_RES_INIT
154 HAVE_RINT
155 HAVE_RMDIR
156 HAVE_SELECT
157 HAVE_SETLOCALE
158 HAVE_SETPGID
159 HAVE_SETRLIMIT
160 HAVE_SETSID
161 HAVE_SHUTDOWN
162 HAVE_SOCKETS
163 HAVE_SOUND
164 HAVE_STDLIB_H
165 HAVE_STRERROR
166 HAVE_STRFTIME
167 HAVE_STRING_H
168 HAVE_STRUCT_UTIMBUF
169 HAVE_SYSINFO
170 HAVE_SYSV_SIGPAUSE
171 HAVE_SYS_SELECT_H
172 HAVE_SYS_SYSTEMINFO_H
173 HAVE_SYS_TIMEB_H
174 HAVE_SYS_TIME_H
175 HAVE_TCATTR
176 HAVE_TIMEVAL
177 HAVE_TM_ZONE
178 HAVE_TZSET
179 HAVE_UNISTD_H
180 HAVE_UTIMES
181 HAVE_UTIME_H
182 HAVE_WINDOW_SYSTEM
183 HAVE_WORKING_VFORK
184 HAVE_XRMSETDATABASE
185 HPUX
186 INTERNAL_TERMINAL
187 IS_ANY_SEP
188 IS_DIRECTORY_SEP
189 LINKER
190 LINUX_VERSION_CODE
191 LISP_FLOAT_TYPE
192 LNOFLSH
193 LOCALTIME_CACHE
194 MAIL_USE_FLOCK
195 MAIL_USE_LOCKF
196 MAIL_USE_POP
197 MAIL_USE_SYSTEM_LOCK
198 MAXPATHLEN
199 MIN_PTY_KERNEL_VERSION -- only used on Mac
200 MODE_LINE_BINARY_TEXT
201 MUST_UNDEF__STDC__
202 NLIST_STRUCT
203 NO_ABORT
204 NO_EDITRES
205 NO_MATHERR
206 NO_TERMIO
207 NSIG
208 NSIG_MINIMUM
209 NULL
210 NULL_DEVICE
211 ORDINARY_LINK
212 O_APPEND
213 O_RDONLY
214 O_RDWR
215 PAGESIZE
216 PENDING_OUTPUT_COUNT
217 POSIX
218 PREFER_VSUSP
219 PTY_ITERATION
220 PTY_NAME_SPRINTF
221 PTY_OPEN
222 PTY_TTY_NAME_SPRINTF
223 PURESIZE
224 RUN_TIME_REMAP
225 SA_RESTART
226 SEGMENT_MASK
227 SETPGRP_RELEASES_CTTY
228 SETUP_SLAVE_PTY
229 SIGALRM
230 SIGCHLD
231 SIGHUP
232 SIGKILL
233 SIGNALS_VIA_CHARACTERS
234 SIGPIPE
235 SIGQUIT
236 SIGTRAP
237 SOLARIS2
238 STDC_HEADERS
239 SYSTEM_PURESIZE_EXTRA
240 SYSTEM_MALLOC
241 SYSV_SYSTEM_DIR
242 TAB3
243 TABDLY
244 TERM
245 TIME_WITH_SYS_TIME
246 TIOCSIGSEND
247 TM_IN_SYS_TIME
248 ULIMIT_BREAK_VALUE
249 UNIX98_PTYS
250 USE_CRT_DLL
251 USE_TOOLKIT_SCROLL_BARS
253 USG5
254 USG5_4
255 USG_SUBTTY_WORKS
256 VALBITS
257 WRETCODE
258 XOS_NEEDS_TIME_H
259 _AIX
260 _ARCH_PPC64
261 _FILE_OFFSET_BITS
262 _LP64
263 _MALLOC_INTERNAL
264 _NAIVE_DOS_REGS
265 _VARARGS_
266 _WINSOCKAPI_
267 _WINSOCK_H
268 _longjmp
269 _setjmp
270 _start
271 abort
272 access
273 alloca
275 calloc
276 chdir
277 chmod
278 chown
279 close
280 const
281 creat
282 ctime
284 dup2
285 edata
286 emacs
287 etext
288 execlp
289 execvp
290 fdopen
291 fileno
292 fopen
293 free
294 fsync
295 ftruncate
296 fwrite
297 getdefdir
298 getdisk
299 getenv
300 getpid
301 getuid
302 gmtime
303 index
304 isatty
305 kill
306 link
307 linux
308 localtime
309 logb
310 lseek
311 malloc
312 mkdir
313 mktemp
314 open
315 pclose
316 pipe
317 popen
318 random
319 read
320 realloc
321 rename
322 rindex
323 rmdir
324 sbrk
325 select
326 sigmask
327 signal
328 sigsetmask
329 sleep
330 spawnve
331 srandom
332 strdup
333 strerror
334 stricmp
335 strnicmp
336 strupr
337 sys_nerr
338 system
339 temacs
340 tzname
341 tzset
342 umask
343 unix
344 unlink
345 utimbuf
346 utime
347 vfork
348 wait
349 write
350 xfree