NOT_C_CODE is always true now.
[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_ALLOCA
135 HAVE_BCMP
136 HAVE_BCOPY
137 HAVE_CBRT
138 HAVE_CLOSEDIR
139 HAVE_DUP2
140 HAVE_EUIDACCESS
141 HAVE_FMOD
142 HAVE_FPATHCONF
143 HAVE_FREXP
144 HAVE_FSYNC
145 HAVE_FTIME
146 HAVE_GETCWD
147 HAVE_GETDOMAINNAME
148 HAVE_GETHOSTNAME
149 HAVE_GETLOADAVG
150 HAVE_GETPAGESIZE
151 HAVE_GETPT
152 HAVE_GETTIMEOFDAY
153 HAVE_GETWD
154 HAVE_H_ERRNO
155 HAVE_INDEX
156 HAVE_INET_SOCKETS
157 HAVE_INVERSE_HYPERBOLIC
158 HAVE_LIBKSTAT
159 HAVE_LIMITS_H
160 HAVE_LINUX_VERSION_H
161 HAVE_LOGB
162 HAVE_LONG_FILE_NAMES
163 HAVE_LRAND48
164 HAVE_MENUS
165 HAVE_MKDIR
166 HAVE_MKTIME
167 HAVE_MOUSE
168 HAVE_PERROR
169 HAVE_PSTAT_GETDYNAMIC
170 HAVE_PWD_H
171 HAVE_RANDOM
172 HAVE_RENAME
173 HAVE_RES_INIT
174 HAVE_RINDEX
175 HAVE_RINT
176 HAVE_RMDIR
177 HAVE_SELECT
178 HAVE_SETLOCALE
179 HAVE_SETPGID
180 HAVE_SETRLIMIT
181 HAVE_SETSID
182 HAVE_SHUTDOWN
183 HAVE_SOCKETS
184 HAVE_SOUND
185 HAVE_STDLIB_H
186 HAVE_STRERROR
187 HAVE_STRFTIME
188 HAVE_STRING_H
189 HAVE_STRUCT_UTIMBUF
190 HAVE_SYSINFO
191 HAVE_SYSV_SIGPAUSE
192 HAVE_SYS_SELECT_H
193 HAVE_SYS_SYSTEMINFO_H
194 HAVE_SYS_TIMEB_H
195 HAVE_SYS_TIME_H
196 HAVE_TCATTR
197 HAVE_TERMIOS_H
198 HAVE_TEXT_START
199 HAVE_TIMEVAL
200 HAVE_TM_ZONE
201 HAVE_TZSET
202 HAVE_UNISTD_H
203 HAVE_UTIMES
204 HAVE_UTIME_H
205 HAVE_VOLATILE
206 HAVE_WINDOW_SYSTEM
207 HAVE_WORKING_VFORK
208 HAVE_XRMSETDATABASE
209 HPUX
210 INHIBIT_X11R6_XIM
211 INTERNAL_TERMINAL
212 IS_ANY_SEP
213 IS_DIRECTORY_SEP
214 KERNEL_FILE
215 LDAV_SYMBOL
216 LINKER
217 LINUX_VERSION_CODE
218 LISP_FLOAT_TYPE
219 LNOFLSH
220 LOCALTIME_CACHE
221 MAIL_USE_FLOCK
222 MAIL_USE_LOCKF
223 MAIL_USE_POP
224 MAIL_USE_SYSTEM_LOCK
225 MAXPATHLEN
226 MIN_PTY_KERNEL_VERSION -- only used on Mac
227 MODE_LINE_BINARY_TEXT
228 MUST_UNDEF__STDC__
229 NLIST_STRUCT
230 NO_ABORT
231 NO_EDITRES
232 NO_MATHERR
233 NO_TERMIO
234 NSIG
235 NSIG_MINIMUM
236 NULL
237 NULL_DEVICE
238 ORDINARY_LINK
239 O_APPEND
240 O_RDONLY
241 O_RDWR
242 PAGESIZE
243 PENDING_OUTPUT_COUNT
244 POSIX
245 PREFER_VSUSP
246 PTY_ITERATION
247 PTY_NAME_SPRINTF
248 PTY_OPEN
249 PTY_TTY_NAME_SPRINTF
250 PURESIZE
251 RUN_TIME_REMAP
252 SA_RESTART
253 SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
254 SEGMENT_MASK
255 SETPGRP_RELEASES_CTTY
256 SETUP_SLAVE_PTY
257 SIGALRM
258 SIGCHLD
259 SIGHUP
260 SIGKILL
261 SIGNALS_VIA_CHARACTERS
262 SIGPIPE
263 SIGQUIT
264 SIGTRAP
265 SIGTYPE
266 SOLARIS2
267 STDC_HEADERS
268 SYMS_SYSTEM
269 SYSTEM_PURESIZE_EXTRA
270 SYSTEM_MALLOC
271 SYSV_SYSTEM_DIR
272 TAB3
273 TABDLY
274 TERM
275 TEXT_START
276 THIS_IS_CONFIGURE
277 TIME_WITH_SYS_TIME
278 TIOCSIGSEND
279 TM_IN_SYS_TIME
280 ULIMIT_BREAK_VALUE
281 UNEXEC
282 UNIX98_PTYS
283 USE_CRT_DLL
284 USE_TOOLKIT_SCROLL_BARS
285 USG
286 USG5
287 USG5_4
288 USG_SUBTTY_WORKS
289 VALBITS
290 WORDS_BIG_ENDIAN
291 WRETCODE
292 XINT
293 XOS_NEEDS_TIME_H
294 XPNTR
295 XSET
296 XUINT
297 _AIX
298 _ARCH_PPC64
299 _CALLBACK_
300 _FILE_OFFSET_BITS
301 _LP64
302 _MALLOC_INTERNAL
303 _NAIVE_DOS_REGS
304 _VARARGS_
305 _WINSOCKAPI_
306 _WINSOCK_H
307 __ELF__
308 __FreeBSD__
309 __GNUC__
310 __GNU_LIBRARY__
311 __GNUC_MINOR__
312 __NetBSD__
313 __OpenBSD__
314 __STDC__
315 __arch64__
316 __cplusplus
317 __hpux
318 __ia64__
319 __linux__
320 __mc68000__
321 __mips__
322 _longjmp
323 _setjmp
324 _start
325 abort
326 access
327 alloca
328 bcmp
329 bcopy
330 brk
331 bzero
332 calloc
333 chdir
334 chmod
335 chown
336 close
337 const
338 creat
339 ctime
340 dup
341 dup2
342 edata
343 emacs
344 etext
345 execlp
346 execvp
347 fdopen
348 fileno
349 fopen
350 free
351 fsync
352 ftruncate
353 fwrite
354 getdefdir
355 getdisk
356 getenv
357 getpid
358 getuid
359 gmtime
360 i386
361 index
362 init_process
363 isatty
364 kill
365 link
366 linux
367 localtime
368 logb
369 lseek
370 m68k
371 malloc
372 mkdir
373 mktemp
374 open
375 pclose
376 pipe
377 popen
378 random
379 read
380 realloc
381 rename
382 rindex
383 rmdir
384 sbrk
385 select
386 sigmask
387 signal
388 sigsetmask
389 sleep
390 spawnve
391 srandom
392 strdup
393 strerror
394 stricmp
395 strnicmp
396 strupr
397 sys_nerr
398 system
399 temacs
400 tzname
401 tzset
402 umask
403 unix
404 unlink
405 utimbuf
406 utime
407 vfork
408 wait
409 write
410 xfree
411
412 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250