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