Remove assertion that does not seem valid anymore.
[emacs.git] / admin / CPP-DEFINES
blob7ab0c3f52a4d252b76d3853c88e90bf5c1b0ea99
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.
4 ** Distinguishing OSes **
6 CYGWIN          Compiling the Cygwin port.
7 __CYGWIN__      Ditto
8 MSDOS           Compiling the MS-DOS port.
9 __MSDOS__       Ditto.
10 __DJGPP__       Major version number of the DJGPP library for the DOS port.
11 __DJGPP_MINOR__ Minor version number of the DJGPP library.
12 __GO32__        Compiling the DOS port with DJGPP v1.x (obsolete).
13 DOS_NT          Compiling for either the MS-DOS or native MS-Windows port.
14 WINDOWSNT       Compiling the native MS-Windows (W32) port.
15 __MINGW32__     Compiling the W32 port with the MinGW port of GCC.
16 _MSC_VER        Compiling the W32 port with the Microsoft C compiler.
17 DARWIN_OS       Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
19 ** Distinguishing GUIs **
21 HAVE_NTGUI      Use the native W32 GUI for windows, frames, menus&scrollbars.
22 HAVE_NS         Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
23 NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
24 NS_IMPL_COCOA   Compile support for Cocoa (Apple) implementation of NS GUI API.
25 HAVE_X11        Compile support for the X11 GUI.
26 HAVE_X_WINDOWS  Compile support for X Window system
27 X11             ??  Makefile.in suggests it's equivalent to HAVE_X11
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.
32 ** Frame types **
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.)
40 ** Support for accessing other processes on the system **
42 HAVE_PROCFS     The /proc filesystem is supported.
44 ** Compile-time options **
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.
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 MAIL_USE_FLOCK
61 NARROWPROTO
62 NOMULTIPLEJOBS
63 SEPCHAR
64 SIGTYPE
65 SYSTEM_TYPE
66 USE_MMAP_FOR_BUFFERS
68 ** Machine specific macros, decribed in detail in src/m/template.h
69 CANNOT_DUMP
70 EXPLICIT_SIGN_EXTEND
71 LOAD_AVE_CVT
72 LOAD_AVE_TYPE
73 NO_ARG_ARRAY
74 NO_REMAP
75 VIRT_ADDR_VARIES
76 WORDS_BIG_ENDIAN
78 ** Misc macros
79 USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for getting at the full user name.  Only MSDOS overrides the default.
81 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
83 ** 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.
86 AIX
87 AMPERSAND_FULL_NAME
88 BCOPY_DOWNWARD_SAFE
89 BCOPY_UPWARD_SAFE
90 BITS_PER_EMACS_INT
91 BITS_PER_LONG
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_PGRPS
105 BSD_SYSTEM
106 CLASH_DETECTION
107 COFF_BSD_SYMBOLS
108 CRT0_DUMMIES
109 C_DEBUG_SWITCH
110 C_SWITCH_MACHINE
111 C_SWITCH_SYSTEM
112 C_SWITCH_SYSTEM_TEMACS
113 C_SWITCH_X_SYSTEM
114 DATA_SEG_BITS
115 DATA_START
116 DBL_MIN_REPLACEMENT
117 DECLARE_GETPWUID_WITH_UID_T
118 DEFAULT_SOUND_DEVICE
119 DEVICE_SEP
120 DIRECTORY_SEP
121 DONT_REOPEN_PTY
122 DOUG_LEA_MALLOC
123 DebPrint
124 EMACSDEBUG
125 EMACS_CONFIGURATION
126 EMACS_CONFIG_OPTIONS
127 EMACS_INT
128 EMACS_UINT
129 END_FILES_1
130 FILE_SYSTEM_CASE
131 FLOAT_CHECK_DOMAIN
132 FSCALE
133 GAP_USE_BCOPY
134 GC_LISP_OBJECT_ALIGNMENT
135 GC_MARK_SECONDARY_STACK
136 GC_MARK_STACK
137 GC_SETJMP_WORKS
138 GMALLOC_INHIBIT_VALLOC
139 GNU_LIBRARY_PENDING_OUTPUT_COUNT
140 GNU_LINUX
141 GNU_MALLOC
142 HAVE_AIX_SMT_EXP
143 HAVE_ALLOCA
144 HAVE_BCMP
145 HAVE_BCOPY
146 HAVE_CBRT
147 HAVE_CLOSEDIR
148 HAVE_CRTIN
149 HAVE_DUP2
150 HAVE_EUIDACCESS
151 HAVE_FMOD
152 HAVE_FPATHCONF
153 HAVE_FREXP
154 HAVE_FSYNC
155 HAVE_FTIME
156 HAVE_GETCWD
157 HAVE_GETDOMAINNAME
158 HAVE_GETHOSTNAME
159 HAVE_GETLOADAVG
160 HAVE_GETPAGESIZE
161 HAVE_GETPT
162 HAVE_GETTIMEOFDAY
163 HAVE_GETWD
164 HAVE_H_ERRNO
165 HAVE_INDEX
166 HAVE_INET_SOCKETS
167 HAVE_INVERSE_HYPERBOLIC
168 HAVE_LIB64_DIR
169 HAVE_LIBKSTAT
170 HAVE_LIBNCURSES
171 HAVE_LIBPTHREADS
172 HAVE_LIBXMU
173 HAVE_LIMITS_H
174 HAVE_LINUX_VERSION_H
175 HAVE_LOGB
176 HAVE_LONG_FILE_NAMES
177 HAVE_LRAND48
178 HAVE_MENUS
179 HAVE_MKDIR
180 HAVE_MKTIME
181 HAVE_MOUSE
182 HAVE_PERROR
183 HAVE_PSTAT_GETDYNAMIC
184 HAVE_PWD_H
185 HAVE_RANDOM
186 HAVE_RENAME
187 HAVE_RES_INIT
188 HAVE_RINDEX
189 HAVE_RINT
190 HAVE_RMDIR
191 HAVE_SELECT
192 HAVE_SETLOCALE
193 HAVE_SETPGID
194 HAVE_SETRLIMIT
195 HAVE_SETSID
196 HAVE_SHUTDOWN
197 HAVE_SOCKETS
198 HAVE_SOUND
199 HAVE_STDLIB_H
200 HAVE_STRERROR
201 HAVE_STRFTIME
202 HAVE_STRING_H
203 HAVE_STRUCT_UTIMBUF
204 HAVE_SYSINFO
205 HAVE_SYSV_SIGPAUSE
206 HAVE_SYS_SELECT_H
207 HAVE_SYS_SYSTEMINFO_H
208 HAVE_SYS_TIMEB_H
209 HAVE_SYS_TIME_H
210 HAVE_TCATTR
211 HAVE_TERMIOS_H
212 HAVE_TEXT_START
213 HAVE_TIMEVAL
214 HAVE_TM_ZONE
215 HAVE_TZSET
216 HAVE_UNISTD_H
217 HAVE_UTIMES
218 HAVE_UTIME_H
219 HAVE_VOLATILE
220 HAVE_WINDOW_SYSTEM
221 HAVE_WORKING_VFORK
222 HAVE_XRMSETDATABASE
223 HPUX
224 IBMR2AIX
225 INHIBIT_X11R6_XIM
226 INTERNAL_TERMINAL
227 IS_ANY_SEP
228 IS_DIRECTORY_SEP
229 KERNEL_FILE
230 LDAV_SYMBOL
231 LD_SWITCH_MACHINE
232 LD_SWITCH_MACHINE_TEMACS
233 LD_SWITCH_SYSTEM
234 LD_SWITCH_SYSTEM_TEMACS
235 LD_SWITCH_SYSTEM_tmp
236 LD_SWITCH_X_DEFAULT
237 LIBS_DEBUG
238 LIBS_MACHINE
239 LIBS_SYSTEM
240 LIBS_TERMCAP
241 LIBX11_SYSTEM
242 LIBXMU
243 LIB_GCC
244 LIB_MATH
245 LIB_MOTIF
246 LIB_STANDARD
247 LINKER
248 LINUX_VERSION_CODE
249 LISP_FLOAT_TYPE
250 LNOFLSH
251 LOCALTIME_CACHE
252 MAIL_USE_LOCKF
253 MAIL_USE_POP
254 MAIL_USE_SYSTEM_LOCK
255 MAXPATHLEN
256 MIN_PTY_KERNEL_VERSION -- only used on Mac
257 MODE_LINE_BINARY_TEXT
258 MUST_UNDEF__STDC__
259 NEED_BSDTTY
260 NEED_ERRNO
261 NEED_LIBW
262 NEED_UNISTD_H
263 NLIST_STRUCT
264 NOT_C_CODE
265 NOT_USING_MOTIF
266 NO_ABORT
267 NO_DIR_LIBRARY
268 NO_EDITRES
269 NO_MATHERR
270 NO_SHARED_LIBS
271 NO_TERMIO
272 NSIG
273 NSIG_MINIMUM
274 NULL
275 NULL_DEVICE
276 ORDINARY_LINK
277 OTHER_FILES
278 O_APPEND
279 O_BINARY
280 O_CREAT
281 O_EXCL
282 O_RDONLY
283 O_RDWR
284 O_TEXT
285 O_TRUNC
286 O_WRONLY
287 PAGESIZE
288 PENDING_OUTPUT_COUNT
289 POSIX
290 POSIX_SIGNALS
291 PREFER_VSUSP
292 PTY_ITERATION
293 PTY_NAME_SPRINTF
294 PTY_OPEN
295 PTY_TTY_NAME_SPRINTF
296 PURESIZE
297 RUN_TIME_REMAP
298 SA_RESTART
299 SECTION_ALIGNMENT  -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
300 SEGMENT_MASK
301 SETPGRP_RELEASES_CTTY
302 SETUP_SLAVE_PTY
303 SIGALRM
304 SIGCHLD
305 SIGHUP
306 SIGKILL
307 SIGNALS_VIA_CHARACTERS
308 SIGPIPE
309 SIGQUIT
310 SIGTRAP
311 SIGTYPE
312 SOLARIS2
313 START_FILES
314 START_FILES_1
315 STDC_HEADERS
316 SYMS_SYSTEM
317 SYSTEM_PURESIZE_EXTRA
318 SYSTEM_MALLOC
319 SYSV_SYSTEM_DIR
320 Srandom
321 TAB3
322 TABDLY
323 TERM
324 TERMINFO
325 TEXT_START
326 THIS_IS_CONFIGURE
327 THIS_IS_MAKEFILE
328 TIME_WITH_SYS_TIME
329 TIOCSIGSEND
330 TM_IN_SYS_TIME
331 ULIMIT_BREAK_VALUE
332 UNEXEC
333 UNIX98_PTYS
334 USE_CRT_DLL
335 USE_MAC_IMAGE_IO
336 USE_TOOLKIT_SCROLL_BARS
338 USG5
339 USG5_4
340 USG_SUBTTY_WORKS
341 VALBITS
342 WORDS_BIG_ENDIAN
343 WRETCODE
344 XINT
345 XOS_NEEDS_TIME_H
346 XPNTR
347 XSET
348 XUINT
349 _AIX
350 _ARCH_PPC64
351 _CALLBACK_
352 _FILE_OFFSET_BITS
353 _LP64
354 _MALLOC_INTERNAL
355 _NAIVE_DOS_REGS
356 _VARARGS_
357 _WINSOCKAPI_
358 _WINSOCK_H
359 __ELF__
360 __FreeBSD__
361 __FreeBSD_version
362 __GNUC__
363 __GNU_LIBRARY__
364 __GNUC_MINOR__
365 __NetBSD__
366 __OpenBSD__
367 __STDC__
368 __arch64__
369 __cplusplus
370 __hpux
371 __ia64__
372 __linux__
373 __mc68000__
374 __mips__
375 _longjmp
376 _setjmp
377 _start
378 abort
379 access
380 alloca
381 bcmp
382 bcopy
384 bzero
385 calloc
386 chdir
387 chmod
388 chown
389 close
390 const
391 creat
392 ctime
394 dup2
395 edata
396 emacs
397 etext
398 execlp
399 execvp
400 fdopen
401 fileno
402 fopen
403 free
404 fsync
405 ftruncate
406 fwrite
407 getdefdir
408 getdisk
409 getenv
410 getpid
411 getuid
412 gmtime
413 i386
414 index
415 init_process
416 isatty
417 kill
418 link
419 linux
420 localtime
421 logb
422 lseek
423 m68k
424 malloc
425 mkdir
426 mktemp
427 open
428 pclose
429 pipe
430 popen
431 random
432 read
433 realloc
434 rename
435 rindex
436 rmdir
437 sbrk
438 select
439 sigmask
440 signal
441 sigsetmask
442 sleep
443 spawnve
444 srandom
445 strdup
446 strerror
447 stricmp
448 strnicmp
449 strupr
450 sys_nerr
451 system
452 temacs
453 tzname
454 tzset
455 umask
456 unix
457 unlink
458 utimbuf
459 utime
460 vfork
461 wait
462 write
463 xfree
465 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250