Move UNEXEC definition to autoconf.
[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 (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.
31
32 ** Frame types **
33
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.)
39
40 ** Support for accessing other processes on the system **
41
42 HAVE_PROCFS The /proc filesystem is supported.
43
44 ** Compile-time options **
45
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.
50
51 ** System specific macros, decribed in detail in src/s/template.h
52 BSTRING
53 CLASH_DETECTION
54 COFF
55 FIRST_PTY_LETTER
56 HAVE_PTYS
57 HAVE_TERMIO
58 HAVE_TERMIOS
59 INTERRUPT_INPUT
60 NARROWPROTO
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_REMAP
72 VIRT_ADDR_VARIES
73 WORDS_BIG_ENDIAN
74
75 ** Misc macros
76 USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
77
78 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
79
80 ** 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.
81
82
83 AIX
84 AMPERSAND_FULL_NAME
85 BCOPY_DOWNWARD_SAFE
86 BCOPY_UPWARD_SAFE
87 BITS_PER_EMACS_INT
88 BITS_PER_LONG
89 BITS_PER_CHAR
90 BITS_PER_SHORT
91 BITS_PER_INT
92 BROKEN_DATAGRAM_SOCKETS
93 BROKEN_FIONREAD
94 BROKEN_GET_CURRENT_DIR_NAME
95 BROKEN_NON_BLOCKING_CONNECT
96 BROKEN_PTY_READ_AFTER_EAGAIN
97 BROKEN_SA_RESTART
98 BROKEN_SIGAIO
99 BROKEN_SIGIO
100 BROKEN_SIGPOLL
101 BROKEN_SIGPTY
102 BSD4_2
103 BSD4_3
104 BSD_SYSTEM
105 CLASH_DETECTION
106 DATA_SEG_BITS
107 DATA_START
108 DBL_MIN_REPLACEMENT
109 DECLARE_GETPWUID_WITH_UID_T
110 DEFAULT_SOUND_DEVICE
111 DEVICE_SEP
112 DIRECTORY_SEP
113 DONT_REOPEN_PTY
114 DOUG_LEA_MALLOC
115 DebPrint
116 EMACSDEBUG
117 EMACS_CONFIGURATION
118 EMACS_CONFIG_OPTIONS
119 EMACS_INT
120 EMACS_UINT
121 FILE_SYSTEM_CASE
122 FLOAT_CHECK_DOMAIN
123 FSCALE
124 GAP_USE_BCOPY
125 GC_LISP_OBJECT_ALIGNMENT
126 GC_MARK_SECONDARY_STACK
127 GC_MARK_STACK
128 GC_SETJMP_WORKS
129 GMALLOC_INHIBIT_VALLOC
130 GNU_LIBRARY_PENDING_OUTPUT_COUNT
131 GNU_LINUX
132 GNU_MALLOC
133 HAVE_AIX_SMT_EXP
134 HAVE_BCMP
135 HAVE_BCOPY
136 HAVE_CBRT
137 HAVE_CLOSEDIR
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_LIMITS_H
159 HAVE_LINUX_VERSION_H
160 HAVE_LOGB
161 HAVE_LONG_FILE_NAMES
162 HAVE_LRAND48
163 HAVE_MENUS
164 HAVE_MKDIR
165 HAVE_MKTIME
166 HAVE_MOUSE
167 HAVE_PERROR
168 HAVE_PSTAT_GETDYNAMIC
169 HAVE_PWD_H
170 HAVE_RANDOM
171 HAVE_RENAME
172 HAVE_RES_INIT
173 HAVE_RINDEX
174 HAVE_RINT
175 HAVE_RMDIR
176 HAVE_SELECT
177 HAVE_SETLOCALE
178 HAVE_SETPGID
179 HAVE_SETRLIMIT
180 HAVE_SETSID
181 HAVE_SHUTDOWN
182 HAVE_SOCKETS
183 HAVE_SOUND
184 HAVE_STDLIB_H
185 HAVE_STRERROR
186 HAVE_STRFTIME
187 HAVE_STRING_H
188 HAVE_STRUCT_UTIMBUF
189 HAVE_SYSINFO
190 HAVE_SYSV_SIGPAUSE
191 HAVE_SYS_SELECT_H
192 HAVE_SYS_SYSTEMINFO_H
193 HAVE_SYS_TIMEB_H
194 HAVE_SYS_TIME_H
195 HAVE_TCATTR
196 HAVE_TERMIOS_H
197 HAVE_TEXT_START
198 HAVE_TIMEVAL
199 HAVE_TM_ZONE
200 HAVE_TZSET
201 HAVE_UNISTD_H
202 HAVE_UTIMES
203 HAVE_UTIME_H
204 HAVE_VOLATILE
205 HAVE_WINDOW_SYSTEM
206 HAVE_WORKING_VFORK
207 HAVE_XRMSETDATABASE
208 HPUX
209 INHIBIT_X11R6_XIM
210 INTERNAL_TERMINAL
211 IS_ANY_SEP
212 IS_DIRECTORY_SEP
213 KERNEL_FILE
214 LDAV_SYMBOL
215 LINKER
216 LINUX_VERSION_CODE
217 LISP_FLOAT_TYPE
218 LNOFLSH
219 LOCALTIME_CACHE
220 MAIL_USE_FLOCK
221 MAIL_USE_LOCKF
222 MAIL_USE_POP
223 MAIL_USE_SYSTEM_LOCK
224 MAXPATHLEN
225 MIN_PTY_KERNEL_VERSION -- only used on Mac
226 MODE_LINE_BINARY_TEXT
227 MUST_UNDEF__STDC__
228 NLIST_STRUCT
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 UNIX98_PTYS
281 USE_CRT_DLL
282 USE_TOOLKIT_SCROLL_BARS
283 USG
284 USG5
285 USG5_4
286 USG_SUBTTY_WORKS
287 VALBITS
288 WORDS_BIG_ENDIAN
289 WRETCODE
290 XINT
291 XOS_NEEDS_TIME_H
292 XPNTR
293 XSET
294 XUINT
295 _AIX
296 _ARCH_PPC64
297 _CALLBACK_
298 _FILE_OFFSET_BITS
299 _LP64
300 _MALLOC_INTERNAL
301 _NAIVE_DOS_REGS
302 _VARARGS_
303 _WINSOCKAPI_
304 _WINSOCK_H
305 __ELF__
306 __FreeBSD__
307 __GNUC__
308 __GNU_LIBRARY__
309 __GNUC_MINOR__
310 __NetBSD__
311 __OpenBSD__
312 __STDC__
313 __arch64__
314 __cplusplus
315 __hpux
316 __ia64__
317 __linux__
318 __mc68000__
319 __mips__
320 _longjmp
321 _setjmp
322 _start
323 abort
324 access
325 alloca
326 bcmp
327 bcopy
328 brk
329 bzero
330 calloc
331 chdir
332 chmod
333 chown
334 close
335 const
336 creat
337 ctime
338 dup
339 dup2
340 edata
341 emacs
342 etext
343 execlp
344 execvp
345 fdopen
346 fileno
347 fopen
348 free
349 fsync
350 ftruncate
351 fwrite
352 getdefdir
353 getdisk
354 getenv
355 getpid
356 getuid
357 gmtime
358 i386
359 index
360 init_process
361 isatty
362 kill
363 link
364 linux
365 localtime
366 logb
367 lseek
368 m68k
369 malloc
370 mkdir
371 mktemp
372 open
373 pclose
374 pipe
375 popen
376 random
377 read
378 realloc
379 rename
380 rindex
381 rmdir
382 sbrk
383 select
384 sigmask
385 signal
386 sigsetmask
387 sleep
388 spawnve
389 srandom
390 strdup
391 strerror
392 stricmp
393 strnicmp
394 strupr
395 sys_nerr
396 system
397 temacs
398 tzname
399 tzset
400 umask
401 unix
402 unlink
403 utimbuf
404 utime
405 vfork
406 wait
407 write
408 xfree
409
410 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250