If HAVE_X11, also HAVE_X_WINDOWS and HAVE_MENUS.
[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 NOT_C_CODE
231 NO_ABORT
232 NO_EDITRES
233 NO_MATHERR
234 NO_TERMIO
235 NSIG
236 NSIG_MINIMUM
237 NULL
238 NULL_DEVICE
239 ORDINARY_LINK
240 O_APPEND
241 O_RDONLY
242 O_RDWR
243 PAGESIZE
244 PENDING_OUTPUT_COUNT
245 POSIX
246 PREFER_VSUSP
247 PTY_ITERATION
248 PTY_NAME_SPRINTF
249 PTY_OPEN
250 PTY_TTY_NAME_SPRINTF
251 PURESIZE
252 RUN_TIME_REMAP
253 SA_RESTART
254 SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
255 SEGMENT_MASK
256 SETPGRP_RELEASES_CTTY
257 SETUP_SLAVE_PTY
258 SIGALRM
259 SIGCHLD
260 SIGHUP
261 SIGKILL
262 SIGNALS_VIA_CHARACTERS
263 SIGPIPE
264 SIGQUIT
265 SIGTRAP
266 SIGTYPE
267 SOLARIS2
268 STDC_HEADERS
269 SYMS_SYSTEM
270 SYSTEM_PURESIZE_EXTRA
271 SYSTEM_MALLOC
272 SYSV_SYSTEM_DIR
273 TAB3
274 TABDLY
275 TERM
276 TEXT_START
277 THIS_IS_CONFIGURE
278 TIME_WITH_SYS_TIME
279 TIOCSIGSEND
280 TM_IN_SYS_TIME
281 ULIMIT_BREAK_VALUE
282 UNEXEC
283 UNIX98_PTYS
284 USE_CRT_DLL
285 USE_TOOLKIT_SCROLL_BARS
286 USG
287 USG5
288 USG5_4
289 USG_SUBTTY_WORKS
290 VALBITS
291 WORDS_BIG_ENDIAN
292 WRETCODE
293 XINT
294 XOS_NEEDS_TIME_H
295 XPNTR
296 XSET
297 XUINT
298 _AIX
299 _ARCH_PPC64
300 _CALLBACK_
301 _FILE_OFFSET_BITS
302 _LP64
303 _MALLOC_INTERNAL
304 _NAIVE_DOS_REGS
305 _VARARGS_
306 _WINSOCKAPI_
307 _WINSOCK_H
308 __ELF__
309 __FreeBSD__
310 __GNUC__
311 __GNU_LIBRARY__
312 __GNUC_MINOR__
313 __NetBSD__
314 __OpenBSD__
315 __STDC__
316 __arch64__
317 __cplusplus
318 __hpux
319 __ia64__
320 __linux__
321 __mc68000__
322 __mips__
323 _longjmp
324 _setjmp
325 _start
326 abort
327 access
328 alloca
329 bcmp
330 bcopy
331 brk
332 bzero
333 calloc
334 chdir
335 chmod
336 chown
337 close
338 const
339 creat
340 ctime
341 dup
342 dup2
343 edata
344 emacs
345 etext
346 execlp
347 execvp
348 fdopen
349 fileno
350 fopen
351 free
352 fsync
353 ftruncate
354 fwrite
355 getdefdir
356 getdisk
357 getenv
358 getpid
359 getuid
360 gmtime
361 i386
362 index
363 init_process
364 isatty
365 kill
366 link
367 linux
368 localtime
369 logb
370 lseek
371 m68k
372 malloc
373 mkdir
374 mktemp
375 open
376 pclose
377 pipe
378 popen
379 random
380 read
381 realloc
382 rename
383 rindex
384 rmdir
385 sbrk
386 select
387 sigmask
388 signal
389 sigsetmask
390 sleep
391 spawnve
392 srandom
393 strdup
394 strerror
395 stricmp
396 strnicmp
397 strupr
398 sys_nerr
399 system
400 temacs
401 tzname
402 tzset
403 umask
404 unix
405 unlink
406 utimbuf
407 utime
408 vfork
409 wait
410 write
411 xfree
412
413 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250