* w32term.c (x_query_colors, x_query_color): New functions.
[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 DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
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 ** 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 MAIL_USE_FLOCK
61 NARROWPROTO
62 NOMULTIPLEJOBS
63 SEPCHAR
64 SIGTYPE
65 SYSTEM_TYPE
66 USE_MMAP_FOR_BUFFERS
67
68 ** Machine specific macros, decribed in detail in src/m/template.h
69 CANNOT_DUMP
70 EXPLICIT_SIGN_EXTEND
71 LOAD_AVE_CVT
72 LOAD_AVE_TYPE
73 NO_ARG_ARRAY
74 NO_REMAP
75 NO_SOCK_SIGIO
76 VIRT_ADDR_VARIES
77 WORDS_BIG_ENDIAN
78
79 ** Misc macros
80 USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
81
82 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
83
84 ** 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.
85
86
87 AIX
88 AMPERSAND_FULL_NAME
89 BCOPY_DOWNWARD_SAFE
90 BCOPY_UPWARD_SAFE
91 BITS_PER_EMACS_INT
92 BITS_PER_LONG
93 BROKEN_DATAGRAM_SOCKETS
94 BROKEN_FIONREAD
95 BROKEN_GET_CURRENT_DIR_NAME
96 BROKEN_NON_BLOCKING_CONNECT
97 BROKEN_PTY_READ_AFTER_EAGAIN
98 BROKEN_SA_RESTART
99 BROKEN_SIGAIO
100 BROKEN_SIGIO
101 BROKEN_SIGPOLL
102 BROKEN_SIGPTY
103 BSD4_2
104 BSD4_3
105 BSD_PGRPS
106 BSD_SYSTEM
107 CLASH_DETECTION
108 COFF_BSD_SYMBOLS
109 CRT0_DUMMIES
110 C_DEBUG_SWITCH
111 C_SWITCH_MACHINE
112 C_SWITCH_SYSTEM
113 C_SWITCH_SYSTEM_TEMACS
114 C_SWITCH_X_SYSTEM
115 DATA_SEG_BITS
116 DATA_START
117 DBL_MIN_REPLACEMENT
118 DECLARE_GETPWUID_WITH_UID_T
119 DEFAULT_SOUND_DEVICE
120 DEVICE_SEP
121 DIRECTORY_SEP
122 DONT_REOPEN_PTY
123 DOUG_LEA_MALLOC
124 DebPrint
125 EMACSDEBUG
126 EMACS_CONFIGURATION
127 EMACS_CONFIG_OPTIONS
128 EMACS_INT
129 EMACS_UINT
130 END_FILES_1
131 FILE_SYSTEM_CASE
132 FLOAT_CHECK_DOMAIN
133 FSCALE
134 GAP_USE_BCOPY
135 GC_LISP_OBJECT_ALIGNMENT
136 GC_MARK_SECONDARY_STACK
137 GC_MARK_STACK
138 GC_SETJMP_WORKS
139 GMALLOC_INHIBIT_VALLOC
140 GNU_LIBRARY_PENDING_OUTPUT_COUNT
141 GNU_LINUX
142 GNU_MALLOC
143 HAVE_AIX_SMT_EXP
144 HAVE_ALLOCA
145 HAVE_BCMP
146 HAVE_BCOPY
147 HAVE_CBRT
148 HAVE_CLOSEDIR
149 HAVE_CRTIN
150 HAVE_DUP2
151 HAVE_EUIDACCESS
152 HAVE_FMOD
153 HAVE_FPATHCONF
154 HAVE_FREXP
155 HAVE_FSYNC
156 HAVE_FTIME
157 HAVE_GETCWD
158 HAVE_GETDOMAINNAME
159 HAVE_GETHOSTNAME
160 HAVE_GETLOADAVG
161 HAVE_GETPAGESIZE
162 HAVE_GETPT
163 HAVE_GETTIMEOFDAY
164 HAVE_GETWD
165 HAVE_H_ERRNO
166 HAVE_INDEX
167 HAVE_INET_SOCKETS
168 HAVE_INVERSE_HYPERBOLIC
169 HAVE_LIB64_DIR
170 HAVE_LIBKSTAT
171 HAVE_LIBNCURSES
172 HAVE_LIBPTHREADS
173 HAVE_LIBXMU
174 HAVE_LIMITS_H
175 HAVE_LINUX_VERSION_H
176 HAVE_LOGB
177 HAVE_LONG_FILE_NAMES
178 HAVE_LRAND48
179 HAVE_MENUS
180 HAVE_MKDIR
181 HAVE_MKTIME
182 HAVE_MOUSE
183 HAVE_PERROR
184 HAVE_PSTAT_GETDYNAMIC
185 HAVE_PWD_H
186 HAVE_RANDOM
187 HAVE_RENAME
188 HAVE_RES_INIT
189 HAVE_RINDEX
190 HAVE_RINT
191 HAVE_RMDIR
192 HAVE_SELECT
193 HAVE_SETLOCALE
194 HAVE_SETPGID
195 HAVE_SETRLIMIT
196 HAVE_SETSID
197 HAVE_SHUTDOWN
198 HAVE_SOCKETS
199 HAVE_SOUND
200 HAVE_STDLIB_H
201 HAVE_STRERROR
202 HAVE_STRFTIME
203 HAVE_STRING_H
204 HAVE_STRUCT_UTIMBUF
205 HAVE_SYSINFO
206 HAVE_SYSV_SIGPAUSE
207 HAVE_SYS_SELECT_H
208 HAVE_SYS_SYSTEMINFO_H
209 HAVE_SYS_TIMEB_H
210 HAVE_SYS_TIME_H
211 HAVE_TCATTR
212 HAVE_TERMIOS_H
213 HAVE_TEXT_START
214 HAVE_TIMEVAL
215 HAVE_TM_ZONE
216 HAVE_TZSET
217 HAVE_UNISTD_H
218 HAVE_UTIMES
219 HAVE_UTIME_H
220 HAVE_VOLATILE
221 HAVE_WINDOW_SYSTEM
222 HAVE_WORKING_VFORK
223 HAVE_XRMSETDATABASE
224 HPUX
225 IBMR2AIX
226 INHIBIT_X11R6_XIM
227 INTERNAL_TERMINAL
228 IS_ANY_SEP
229 IS_DIRECTORY_SEP
230 KERNEL_FILE
231 LDAV_SYMBOL
232 LD_SWITCH_MACHINE
233 LD_SWITCH_MACHINE_TEMACS
234 LD_SWITCH_SYSTEM
235 LD_SWITCH_SYSTEM_TEMACS
236 LD_SWITCH_SYSTEM_tmp
237 LD_SWITCH_X_DEFAULT
238 LIBS_DEBUG
239 LIBS_MACHINE
240 LIBS_SYSTEM
241 LIBS_TERMCAP
242 LIBX11_SYSTEM
243 LIBXMU
244 LIB_GCC
245 LIB_MATH
246 LIB_MOTIF
247 LIB_STANDARD
248 LINKER
249 LINUX_VERSION_CODE
250 LISP_FLOAT_TYPE
251 LNOFLSH
252 LOCALTIME_CACHE
253 MAIL_USE_LOCKF
254 MAIL_USE_POP
255 MAIL_USE_SYSTEM_LOCK
256 MAXPATHLEN
257 MIN_PTY_KERNEL_VERSION -- only used on Mac
258 MODE_LINE_BINARY_TEXT
259 MUST_UNDEF__STDC__
260 NEED_BSDTTY
261 NEED_ERRNO
262 NEED_LIBW
263 NEED_UNISTD_H
264 NLIST_STRUCT
265 NOT_C_CODE
266 NOT_USING_MOTIF
267 NO_ABORT
268 NO_DIR_LIBRARY
269 NO_EDITRES
270 NO_MATHERR
271 NO_SHARED_LIBS
272 NO_TERMIO
273 NSIG
274 NSIG_MINIMUM
275 NULL
276 NULL_DEVICE
277 ORDINARY_LINK
278 OTHER_FILES
279 O_APPEND
280 O_BINARY
281 O_CREAT
282 O_EXCL
283 O_RDONLY
284 O_RDWR
285 O_TEXT
286 O_TRUNC
287 O_WRONLY
288 PAGESIZE
289 PENDING_OUTPUT_COUNT
290 POSIX
291 POSIX_SIGNALS
292 PREFER_VSUSP
293 PTY_ITERATION
294 PTY_NAME_SPRINTF
295 PTY_OPEN
296 PTY_TTY_NAME_SPRINTF
297 PURESIZE
298 RUN_TIME_REMAP
299 SA_RESTART
300 SECTION_ALIGNMENT
301 SEGMENT_MASK
302 SETPGRP_RELEASES_CTTY
303 SETUP_SLAVE_PTY
304 SIGALRM
305 SIGCHLD
306 SIGHUP
307 SIGKILL
308 SIGNALS_VIA_CHARACTERS
309 SIGPIPE
310 SIGQUIT
311 SIGTRAP
312 SIGTYPE
313 SOLARIS2
314 START_FILES
315 START_FILES_1
316 STDC_HEADERS
317 SYMS_SYSTEM
318 SYSTEM_PURESIZE_EXTRA
319 SYSTEM_MALLOC
320 SYSV_SYSTEM_DIR
321 Srandom
322 TAB3
323 TABDLY
324 TERM
325 TERMINFO
326 TEXT_START
327 THIS_IS_CONFIGURE
328 THIS_IS_MAKEFILE
329 TIME_WITH_SYS_TIME
330 TIOCSIGSEND
331 TM_IN_SYS_TIME
332 ULIMIT_BREAK_VALUE
333 UNEXEC
334 UNIX98_PTYS
335 USE_CRT_DLL
336 USE_MAC_IMAGE_IO
337 USE_TOOLKIT_SCROLL_BARS
338 USG
339 USG5
340 USG5_4
341 USG_SUBTTY_WORKS
342 VALBITS
343 WORDS_BIG_ENDIAN
344 WRETCODE
345 XINT
346 XOS_NEEDS_TIME_H
347 XPNTR
348 XSET
349 XUINT
350 _AIX
351 _ARCH_PPC64
352 _CALLBACK_
353 _FILE_OFFSET_BITS
354 _LP64
355 _MALLOC_INTERNAL
356 _NAIVE_DOS_REGS
357 _VARARGS_
358 _WINSOCKAPI_
359 _WINSOCK_H
360 __ELF__
361 __FreeBSD__
362 __FreeBSD_version
363 __GNUC__
364 __GNU_LIBRARY__
365 __GNUC_MINOR__
366 __NetBSD__
367 __OpenBSD__
368 __STDC__
369 __arch64__
370 __cplusplus
371 __hpux
372 __ia64__
373 __linux__
374 __mc68000__
375 __mips__
376 _longjmp
377 _setjmp
378 _start
379 abort
380 access
381 alloca
382 bcmp
383 bcopy
384 brk
385 bzero
386 calloc
387 chdir
388 chmod
389 chown
390 close
391 const
392 creat
393 ctime
394 dup
395 dup2
396 edata
397 emacs
398 etext
399 execlp
400 execvp
401 fdopen
402 fileno
403 fopen
404 free
405 fsync
406 ftruncate
407 fwrite
408 getdefdir
409 getdisk
410 getenv
411 getpid
412 getuid
413 gmtime
414 i386
415 index
416 init_process
417 isatty
418 kill
419 link
420 linux
421 localtime
422 logb
423 lseek
424 m68k
425 malloc
426 mkdir
427 mktemp
428 open
429 pclose
430 pipe
431 popen
432 random
433 read
434 realloc
435 rename
436 rindex
437 rmdir
438 sbrk
439 select
440 sigmask
441 signal
442 sigsetmask
443 sleep
444 spawnve
445 srandom
446 strdup
447 strerror
448 stricmp
449 strnicmp
450 strupr
451 sys_nerr
452 system
453 temacs
454 tzname
455 tzset
456 umask
457 unix
458 unlink
459 utimbuf
460 utime
461 vfork
462 wait
463 write
464 xfree
465
466 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250