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