* s/ms-w32.h (MULTI_KBOARD): Remove.
[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__ Major version number of the DJGPP library for the DOS port.
11 __DJGPP_MINOR__ Minor version number of the DJGPP library.
12 __GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
13 DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
14 WINDOWSNT Compiling the native MS-Windows (W32) port.
15 __MINGW32__ Compiling the W32 port with the MinGW port of GCC.
16 _MSC_VER Compiling the W32 port with the Microsoft C compiler.
17 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
18
19 ** Distinguishing GUIs **
20
21 HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
22 HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
23 NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
24 NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
25 HAVE_X11 Compile support for the X11 GUI.
26 HAVE_X_WINDOWS Compile support for X Window system
27 X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
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 ** Compile-time options **
41 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
42 SYSTEM_MALLOC Use the system library's malloc.
43 subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
44
45 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
46
47 ** 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.
48
49
50 AIX
51 AMPERSAND_FULL_NAME
52 BCOPY_DOWNWARD_SAFE
53 BCOPY_UPWARD_SAFE
54 BITS_PER_EMACS_INT
55 BITS_PER_LONG
56 BROKEN_DATAGRAM_SOCKETS
57 BROKEN_FIONREAD
58 BROKEN_GET_CURRENT_DIR_NAME
59 BROKEN_NON_BLOCKING_CONNECT
60 BROKEN_PTY_READ_AFTER_EAGAIN
61 BROKEN_SA_RESTART
62 BROKEN_SIGAIO
63 BROKEN_SIGIO
64 BROKEN_SIGPOLL
65 BROKEN_SIGPTY
66 BSD4_2
67 BSD4_3
68 BSD_PGRPS
69 BSD_SYSTEM
70 BSTRING
71 CANNOT_DUMP
72 CLASH_DETECTION
73 COFF
74 COFF_BSD_SYMBOLS
75 CRT0_DUMMIES
76 C_DEBUG_SWITCH
77 C_SWITCH_MACHINE
78 C_SWITCH_SYSTEM
79 C_SWITCH_SYSTEM_TEMACS
80 C_SWITCH_X_SYSTEM
81 DATA_SEG_BITS
82 DATA_START
83 DBL_MIN_REPLACEMENT
84 DECLARE_GETPWUID_WITH_UID_T
85 DEFAULT_SOUND_DEVICE
86 DEVICE_SEP
87 DIRECTORY_SEP
88 DONT_REOPEN_PTY
89 DOUG_LEA_MALLOC
90 DebPrint
91 EMACSDEBUG
92 EMACS_CONFIGURATION
93 EMACS_CONFIG_OPTIONS
94 EMACS_INT
95 EMACS_UINT
96 END_FILES_1
97 EXPLICIT_SIGN_EXTEND
98 FILE_SYSTEM_CASE
99 FIRST_PTY_LETTER
100 FLOAT_CHECK_DOMAIN
101 FSCALE
102 Fread
103 GAP_USE_BCOPY
104 GC_LISP_OBJECT_ALIGNMENT
105 GC_MARK_SECONDARY_STACK
106 GC_MARK_STACK
107 GC_SETJMP_WORKS
108 GMALLOC_INHIBIT_VALLOC
109 GNU_LIBRARY_PENDING_OUTPUT_COUNT
110 GNU_LINUX
111 GNU_MALLOC
112 HAVE_AIX_SMT_EXP
113 HAVE_ALLOCA
114 HAVE_AVAILABILITYMACROS_H
115 HAVE_BCMP
116 HAVE_BCOPY
117 HAVE_CBRT
118 HAVE_CLOSEDIR
119 HAVE_CRTIN
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_INDEX
137 HAVE_INET_SOCKETS
138 HAVE_INVERSE_HYPERBOLIC
139 HAVE_LIB64_DIR
140 HAVE_LIBKSTAT
141 HAVE_LIBNCURSES
142 HAVE_LIBPTHREADS
143 HAVE_LIBXMU
144 HAVE_LIMITS_H
145 HAVE_LINUX_VERSION_H
146 HAVE_LOGB
147 HAVE_LONG_FILE_NAMES
148 HAVE_LRAND48
149 HAVE_MENUS
150 HAVE_MKDIR
151 HAVE_MKTIME
152 HAVE_MOUSE
153 HAVE_PERROR
154 HAVE_PSTAT_GETDYNAMIC
155 HAVE_PTYS
156 HAVE_PWD_H
157 HAVE_RANDOM
158 HAVE_RENAME
159 HAVE_RES_INIT
160 HAVE_RINDEX
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_TERMIO
184 HAVE_TERMIOS
185 HAVE_TERMIOS_H
186 HAVE_TEXT_START
187 HAVE_TIMEVAL
188 HAVE_TM_ZONE
189 HAVE_TZSET
190 HAVE_UNISTD_H
191 HAVE_UTIMES
192 HAVE_UTIME_H
193 HAVE_VOLATILE
194 HAVE_WINDOW_SYSTEM
195 HAVE_WORKING_VFORK
196 HAVE_XRMSETDATABASE
197 HPUX
198 IBMR2AIX
199 INHIBIT_X11R6_XIM
200 INTERNAL_TERMINAL
201 INTERRUPT_INPUT
202 IS_ANY_SEP
203 IS_DIRECTORY_SEP
204 KERNEL_FILE
205 LDAV_SYMBOL
206 LD_SWITCH_MACHINE
207 LD_SWITCH_MACHINE_TEMACS
208 LD_SWITCH_SYSTEM
209 LD_SWITCH_SYSTEM_TEMACS
210 LD_SWITCH_SYSTEM_tmp
211 LD_SWITCH_X_DEFAULT
212 LIBS_DEBUG
213 LIBS_MACHINE
214 LIBS_SYSTEM
215 LIBS_TERMCAP
216 LIBX11_SYSTEM
217 LIBXMU
218 LIB_GCC
219 LIB_MATH
220 LIB_MOTIF
221 LIB_STANDARD
222 LINKER
223 LINK_CRTL_SHARE
224 LINUX_VERSION_CODE
225 LISP_FLOAT_TYPE
226 LNOFLSH
227 LOAD_AVE_CVT
228 LOAD_AVE_TYPE
229 LOCALTIME_CACHE
230 MAIL_USE_FLOCK
231 MAIL_USE_LOCKF
232 MAIL_USE_POP
233 MAIL_USE_SYSTEM_LOCK
234 MAXPATHLEN
235 MAX_PRINT_CHARS
236 MIN_PTY_KERNEL_VERSION -- only used on Mac
237 MODE_LINE_BINARY_TEXT
238 MUST_UNDEF__STDC__
239 NARROWPROTO
240 NEED_BSDTTY
241 NEED_ERRNO
242 NEED_LIBW
243 NEED_UNISTD_H
244 NLIST_STRUCT
245 NOMULTIPLEJOBS
246 NONSYSTEM_DIR_LIBRARY
247 NOT_C_CODE
248 NOT_USING_MOTIF
249 NO_ABORT
250 NO_ARG_ARRAY
251 NO_EDITRES
252 NO_HYPHENS_IN_FILENAMES
253 NO_MATHERR
254 NO_REMAP
255 NO_SHARED_LIBS
256 NO_SOCK_SIGIO
257 NO_TERMIO
258 NSIG
259 NSIG_MINIMUM
260 NULL
261 NULL_DEVICE
262 ORDINARY_LINK
263 OTHER_FILES
264 O_APPEND
265 O_BINARY
266 O_CREAT
267 O_EXCL
268 O_RDONLY
269 O_RDWR
270 O_TEXT
271 O_TRUNC
272 O_WRONLY
273 PAGESIZE
274 PENDING_OUTPUT_COUNT
275 POSIX
276 POSIX_SIGNALS
277 PREFER_VSUSP
278 PTY_ITERATION
279 PTY_NAME_SPRINTF
280 PTY_OPEN
281 PTY_TTY_NAME_SPRINTF
282 PURESIZE
283 RUN_TIME_REMAP
284 SA_RESTART
285 SECTION_ALIGNMENT
286 SEGMENT_MASK
287 SEPCHAR
288 SETPGRP_RELEASES_CTTY
289 SETUP_SLAVE_PTY
290 SHARABLE_LIB_BUG
291 SIGALRM
292 SIGCHLD
293 SIGHUP
294 SIGKILL
295 SIGNALS_VIA_CHARACTERS
296 SIGPIPE
297 SIGQUIT
298 SIGTRAP
299 SIGTYPE
300 SOLARIS2
301 START_FILES
302 START_FILES_1
303 STDC_HEADERS
304 SYMS_SYSTEM
305 SYSTEM_PURESIZE_EXTRA
306 SYSTEM_TYPE
307 SYSTEM_MALLOC
308 SYSV_SYSTEM_DIR
309 Srandom
310 TAB3
311 TABDLY
312 TERM
313 TERMINFO
314 TEXT_END
315 TEXT_START
316 THIS_IS_CONFIGURE
317 THIS_IS_MAKEFILE
318 TIME_WITH_SYS_TIME
319 TIOCSIGSEND
320 TM_IN_SYS_TIME
321 ULIMIT_BREAK_VALUE
322 UNEXEC
323 UNIX98_PTYS
324 USE_CRT_DLL
325 USE_MAC_IMAGE_IO
326 USE_MMAP_FOR_BUFFERS
327 USE_TOOLKIT_SCROLL_BARS
328 USG
329 USG5
330 USG5_4
331 USG_SUBTTY_WORKS
332 VALBITS
333 VIRT_ADDR_VARIES
334 VMS
335 WORDS_BIG_ENDIAN
336 WRETCODE
337 XINT
338 XOS_NEEDS_TIME_H
339 XPNTR
340 XSET
341 XUINT
342 _AIX
343 _ARCH_PPC64
344 _CALLBACK_
345 _FILE_OFFSET_BITS
346 _LP64
347 _MALLOC_INTERNAL
348 _NAIVE_DOS_REGS
349 _VARARGS_
350 _WINSOCKAPI_
351 _WINSOCK_H
352 __ELF__
353 __FreeBSD__
354 __FreeBSD_version
355 __GNUC__
356 __GNU_LIBRARY__
357 __GNUC_MINOR__
358 __NetBSD__
359 __OpenBSD__
360 __STDC__
361 __arch64__
362 __cplusplus
363 __hpux
364 __ia64__
365 __linux__
366 __mc68000__
367 __mips__
368 _longjmp
369 _setjmp
370 _start
371 abort
372 access
373 alloca
374 bcmp
375 bcopy
376 brk
377 bzero
378 calloc
379 chdir
380 chmod
381 chown
382 close
383 const
384 creat
385 ctime
386 dup
387 dup2
388 edata
389 emacs
390 etext
391 execlp
392 execvp
393 fdopen
394 fileno
395 fopen
396 free
397 fsync
398 ftruncate
399 fwrite
400 getdefdir
401 getdisk
402 getenv
403 getpid
404 getuid
405 gmtime
406 i386
407 index
408 init_process
409 isatty
410 kill
411 link
412 linux
413 localtime
414 logb
415 lseek
416 m68k
417 malloc
418 mkdir
419 mktemp
420 open
421 pclose
422 pipe
423 popen
424 random
425 read
426 realloc
427 rename
428 rindex
429 rmdir
430 sbrk
431 select
432 sigmask
433 signal
434 sigsetmask
435 sleep
436 spawnve
437 srandom
438 strdup
439 strerror
440 stricmp
441 strnicmp
442 strupr
443 sys_nerr
444 system
445 temacs
446 tzname
447 tzset
448 umask
449 unix
450 unlink
451 utimbuf
452 utime
453 vfork
454 wait
455 write
456 xfree
457
458 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250