]> code.delx.au - gnu-emacs/blob - admin/CPP-DEFINES
Merge from emacs-24
[gnu-emacs] / 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 DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks on Lisp_Object use.
50
51 ** System specific macros, described in detail in src/s/template.h
52 CLASH_DETECTION
53 COFF
54 FIRST_PTY_LETTER
55 HAVE_PTYS
56 INTERRUPT_INPUT
57 NARROWPROTO
58 SEPCHAR
59 SYSTEM_TYPE
60
61 ** Misc macros
62 USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
63
64 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
65
66 ** Defines from 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/s/*.h.
67
68
69 AIX
70 AMPERSAND_FULL_NAME
71 BROKEN_DATAGRAM_SOCKETS
72 BROKEN_FIONREAD
73 BROKEN_GET_CURRENT_DIR_NAME
74 BROKEN_NON_BLOCKING_CONNECT
75 BROKEN_PTY_READ_AFTER_EAGAIN
76 BROKEN_SA_RESTART
77 BROKEN_SIGAIO
78 BROKEN_SIGIO
79 BROKEN_SIGPOLL
80 BROKEN_SIGPTY
81 BSD4_2
82 BSD_SYSTEM
83 CLASH_DETECTION
84 DATA_SEG_BITS
85 DATA_START
86 DBL_MIN_REPLACEMENT
87 DEFAULT_SOUND_DEVICE
88 DEVICE_SEP
89 DIRECTORY_SEP
90 DONT_REOPEN_PTY
91 DOUG_LEA_MALLOC
92 DebPrint
93 EMACSDEBUG
94 EMACS_CONFIGURATION
95 EMACS_CONFIG_OPTIONS
96 EMACS_INT
97 EMACS_UINT
98 FLOAT_CHECK_DOMAIN
99 GC_LISP_OBJECT_ALIGNMENT
100 GC_MARK_SECONDARY_STACK
101 GC_MARK_STACK
102 GC_SETJMP_WORKS
103 GMALLOC_INHIBIT_VALLOC
104 GNU_LIBRARY_PENDING_OUTPUT_COUNT
105 GNU_LINUX
106 GNU_MALLOC
107 HAVE_AIX_SMT_EXP
108 HAVE_CBRT
109 HAVE_CLOSEDIR
110 HAVE_DUP2
111 HAVE_EUIDACCESS
112 HAVE_FMOD
113 HAVE_FPATHCONF
114 HAVE_FREXP
115 HAVE_FSYNC
116 HAVE_GETCWD
117 HAVE_GETHOSTNAME
118 HAVE_GETLOADAVG
119 HAVE_GETPAGESIZE
120 HAVE_GETPT
121 HAVE_GETTIMEOFDAY
122 HAVE_GETWD
123 HAVE_H_ERRNO
124 HAVE_INET_SOCKETS
125 HAVE_INVERSE_HYPERBOLIC
126 HAVE_LIBKSTAT
127 HAVE_LIMITS_H
128 HAVE_LINUX_VERSION_H
129 HAVE_LOGB
130 HAVE_LONG_FILE_NAMES
131 HAVE_LRAND48
132 HAVE_MENUS
133 HAVE_MKTIME
134 HAVE_MOUSE
135 HAVE_PSTAT_GETDYNAMIC
136 HAVE_PWD_H
137 HAVE_RANDOM
138 HAVE_RES_INIT
139 HAVE_RINT
140 HAVE_SELECT
141 HAVE_SETLOCALE
142 HAVE_SETPGID
143 HAVE_SETRLIMIT
144 HAVE_SETSID
145 HAVE_SHUTDOWN
146 HAVE_SOCKETS
147 HAVE_SOUND
148 HAVE_STDLIB_H
149 HAVE_STRFTIME
150 HAVE_STRING_H
151 HAVE_STRUCT_UTIMBUF
152 HAVE_SYS_SELECT_H
153 HAVE_SYS_SYSTEMINFO_H
154 HAVE_SYS_TIMEB_H
155 HAVE_SYS_TIME_H
156 HAVE_TCATTR
157 HAVE_TM_ZONE
158 HAVE_TZSET
159 HAVE_UNISTD_H
160 HAVE_UTIME_H
161 HAVE_WINDOW_SYSTEM
162 HAVE_WORKING_VFORK
163 HAVE_XRMSETDATABASE
164 HPUX
165 INTERNAL_TERMINAL
166 IS_ANY_SEP
167 IS_DIRECTORY_SEP
168 LINKER
169 LINUX_VERSION_CODE
170 LNOFLSH
171 LOCALTIME_CACHE
172 MAIL_USE_FLOCK
173 MAIL_USE_LOCKF
174 MAIL_USE_POP
175 MAIL_USE_SYSTEM_LOCK
176 MAXPATHLEN
177 MIN_PTY_KERNEL_VERSION -- only used on Mac
178 MODE_LINE_BINARY_TEXT
179 MUST_UNDEF__STDC__
180 NLIST_STRUCT
181 NO_ABORT
182 NO_EDITRES
183 NO_MATHERR
184 NO_TERMIO
185 NSIG
186 NSIG_MINIMUM
187 NULL_DEVICE
188 ORDINARY_LINK
189 O_APPEND
190 O_RDONLY
191 O_RDWR
192 PAGESIZE
193 PENDING_OUTPUT_COUNT
194 PREFER_VSUSP
195 PTY_ITERATION
196 PTY_NAME_SPRINTF
197 PTY_OPEN
198 PTY_TTY_NAME_SPRINTF
199 PURESIZE
200 RUN_TIME_REMAP
201 SA_RESTART
202 SEGMENT_MASK
203 SETPGRP_RELEASES_CTTY
204 SETUP_SLAVE_PTY
205 SIGALRM
206 SIGCHLD
207 SIGHUP
208 SIGKILL
209 SIGNALS_VIA_CHARACTERS
210 SIGPIPE
211 SIGQUIT
212 SIGTRAP
213 SOLARIS2
214 STDC_HEADERS
215 SYSTEM_PURESIZE_EXTRA
216 SYSTEM_MALLOC
217 SYSV_SYSTEM_DIR
218 TAB3
219 TABDLY
220 TERM
221 TIME_WITH_SYS_TIME
222 TIOCSIGSEND
223 TM_IN_SYS_TIME
224 ULIMIT_BREAK_VALUE
225 UNIX98_PTYS
226 USE_CRT_DLL
227 USE_TOOLKIT_SCROLL_BARS
228 USG
229 USG5
230 USG_SUBTTY_WORKS
231 VALBITS
232 WRETCODE
233 XOS_NEEDS_TIME_H
234 _AIX
235 _ARCH_PPC64
236 _FILE_OFFSET_BITS
237 _LP64
238 _MALLOC_INTERNAL
239 _NAIVE_DOS_REGS
240 _VARARGS_
241 _WINSOCKAPI_
242 _WINSOCK_H
243 _longjmp
244 _setjmp
245 _start
246 abort
247 access
248 alloca
249 brk
250 calloc
251 chdir
252 chmod
253 chown
254 close
255 creat
256 ctime
257 dup
258 dup2
259 edata
260 emacs
261 etext
262 execlp
263 execvp
264 fdopen
265 fileno
266 fopen
267 free
268 fsync
269 ftruncate
270 fwrite
271 getdefdir
272 getdisk
273 getenv
274 getpid
275 getuid
276 gmtime
277 index
278 isatty
279 kill
280 link
281 linux
282 localtime
283 logb
284 lseek
285 malloc
286 mkdir
287 mktemp
288 open
289 pclose
290 pipe
291 popen
292 random
293 read
294 realloc
295 rename
296 rindex
297 rmdir
298 sbrk
299 select
300 sigmask
301 signal
302 sigsetmask
303 sleep
304 spawnve
305 srandom
306 strdup
307 stricmp
308 strnicmp
309 strupr
310 sys_nerr
311 system
312 temacs
313 tzname
314 tzset
315 umask
316 unix
317 unlink
318 utimbuf
319 utime
320 vfork
321 wait
322 write
323 xfree