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