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