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