Remove code depending on !COFF and USG, the file is
[bpt/emacs.git] / admin / CPP-DEFINES
CommitLineData
aa5fea59
SM
1Here are some of the cpp macros used, together with some short explanation
2of their use. Feel free to add more macros and more categories.
3
4** Distinguishing OSes **
5
04338634 6MAC_OS8 Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
9536288f 7MAC_OSX Compiling for Mac OS X. Not bare Darwin.
aa5fea59 8CYGWIN Compiling the Cygwin port.
077e3aa8
EZ
9__CYGWIN__ Ditto
10MSDOS Compiling the MS-DOS port.
11__MSDOS__ Ditto.
12__DJGPP__ Major version number of the DJGPP library for the DOS port.
13__DJGPP_MINOR__ Minor version number of the DJGPP library.
14__GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
15DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
16WINDOWSNT Compiling the native MS-Windows (W32) port.
17__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
18_MSC_VER Compiling the W32 port with the Microsoft C compiler.
b7bfcc8a 19IRIX6_5 Compiling on Irix-6.5
6e5cb96f 20USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
aa5fea59
SM
21
22** Distinguishing GUIs **
23
077e3aa8 24HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
edfda783 25MAC_OS Compiling for the `mac' window-system.
aa5fea59 26HAVE_CARBON Compile support for the Carbon GUI. Requires MAC_OS?
edfda783
AR
27HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
28NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
29NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
aa5fea59 30HAVE_X11 Compile support for the X11 GUI.
077e3aa8 31HAVE_X_WINDOWS Compile support for X Window system
aa5fea59
SM
32X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
33USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
34USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
35USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
36
077e3aa8
EZ
37** Frame types **
38
39FRAME_TERMCAP_P A tty (character terminal) frame.
40FRAME_X_P A frame on X Window system.
41FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
42FRAME_MAC_P A Mac frame.
43FRAME_W32_P A frame using native MS-Windows GUI.
44FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
45
46** Compile-time options **
47REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
48SYSTEM_MALLOC Use the system library's malloc.
49
4624371d 50** Replace, the definition is trivial: SWITCH_ENUM_CAST
d35e1cd7 51
a0ce9ab7
DN
52** 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.
53
d35e1cd7 54
f3041af1 55ADDR_CORRECT
a0ce9ab7
DN
56AIX
57AMPERSAND_FULL_NAME
f3041af1
DN
58A_TEXT_OFFSET
59A_TEXT_SEEK
a0ce9ab7
DN
60BCOPY_DOWNWARD_SAFE
61BCOPY_UPWARD_SAFE
62BITS_PER_EMACS_INT
63BITS_PER_LONG
64BROKEN_DATAGRAM_SOCKETS
f3041af1 65BROKEN_FIONREAD
a0ce9ab7
DN
66BROKEN_GET_CURRENT_DIR_NAME
67BROKEN_NON_BLOCKING_CONNECT
68BROKEN_PTY_READ_AFTER_EAGAIN
69BROKEN_SA_RESTART
70BROKEN_SIGAIO
f3041af1 71BROKEN_SIGIO
a0ce9ab7
DN
72BROKEN_SIGPOLL
73BROKEN_SIGPTY
a0ce9ab7 74BSD4_2
f3041af1 75BSD4_3
d35e1cd7
DN
76BSD_PGRPS
77BSD_SYSTEM
78BSTRING
79CANNOT_DUMP
80CLASH_DETECTION
81COFF
f3041af1 82COFF_BSD_SYMBOLS
d35e1cd7 83CRT0_DUMMIES
f3041af1 84C_DEBUG_SWITCH
f3041af1
DN
85C_SWITCH_MACHINE
86C_SWITCH_SYSTEM
a0ce9ab7
DN
87C_SWITCH_SYSTEM_TEMACS
88C_SWITCH_X_SYSTEM
f3041af1 89DATA_END
f3041af1
DN
90DATA_SEG_BITS
91DATA_START
a0ce9ab7 92DBL_MIN_REPLACEMENT
f3041af1 93DECLARE_GETPWUID_WITH_UID_T
a0ce9ab7
DN
94DEFAULT_SOUND_DEVICE
95DEVICE_SEP
96DIRECTORY_SEP
97DONT_REOPEN_PTY
f3041af1 98DOT_GLOBAL_START
a0ce9ab7
DN
99DOUG_LEA_MALLOC
100DebPrint
101EMACSDEBUG
102EMACS_CONFIGURATION
103EMACS_CONFIG_OPTIONS
104EMACS_INT
105EMACS_UINT
106END_FILES_1
d35e1cd7 107EXPLICIT_SIGN_EXTEND
a0ce9ab7 108FILE_SYSTEM_CASE
d35e1cd7 109FIRST_PTY_LETTER
a0ce9ab7 110FLOAT_CHECK_DOMAIN
f3041af1 111FSCALE
a0ce9ab7
DN
112Fread
113GAP_USE_BCOPY
114GC_LISP_OBJECT_ALIGNMENT
115GC_MARK_SECONDARY_STACK
f3041af1
DN
116GC_MARK_STACK
117GC_SETJMP_WORKS
a0ce9ab7
DN
118GMALLOC_INHIBIT_VALLOC
119GNU_LIBRARY_PENDING_OUTPUT_COUNT
120GNU_LINUX
f3041af1 121GNU_MALLOC
a0ce9ab7 122HAVE_AIX_SMT_EXP
f3041af1 123HAVE_ALLOCA
a0ce9ab7
DN
124HAVE_AVAILABILITYMACROS_H
125HAVE_BCMP
126HAVE_BCOPY
127HAVE_CBRT
f3041af1 128HAVE_CLOSEDIR
a0ce9ab7 129HAVE_CRTIN
a0ce9ab7
DN
130HAVE_DUP2
131HAVE_EUIDACCESS
a0ce9ab7
DN
132HAVE_FMOD
133HAVE_FPATHCONF
134HAVE_FREXP
135HAVE_FSYNC
136HAVE_FTIME
137HAVE_GETCWD
138HAVE_GETDOMAINNAME
139HAVE_GETHOSTNAME
140HAVE_GETLOADAVG
141HAVE_GETPAGESIZE
142HAVE_GETPT
f3041af1 143HAVE_GETTIMEOFDAY
a0ce9ab7
DN
144HAVE_GETWD
145HAVE_H_ERRNO
146HAVE_INDEX
f3041af1 147HAVE_INET_SOCKETS
a0ce9ab7
DN
148HAVE_INVERSE_HYPERBOLIC
149HAVE_LIB64_DIR
150HAVE_LIBKSTAT
151HAVE_LIBNCURSES
152HAVE_LIBPTHREADS
153HAVE_LIBXMU
154HAVE_LIMITS_H
155HAVE_LINUX_VERSION_H
156HAVE_LOGB
157HAVE_LONG_FILE_NAMES
158HAVE_LRAND48
159HAVE_MENUS
160HAVE_MKDIR
161HAVE_MKTIME
162HAVE_MOUSE
163HAVE_PERROR
164HAVE_PSTAT_GETDYNAMIC
d35e1cd7 165HAVE_PTYS
a0ce9ab7
DN
166HAVE_PWD_H
167HAVE_RANDOM
168HAVE_RENAME
169HAVE_RES_INIT
170HAVE_RINDEX
171HAVE_RINT
172HAVE_RMDIR
f3041af1 173HAVE_SELECT
a0ce9ab7
DN
174HAVE_SETLOCALE
175HAVE_SETPGID
176HAVE_SETRLIMIT
177HAVE_SETSID
178HAVE_SHUTDOWN
d35e1cd7 179HAVE_SOCKETS
a0ce9ab7
DN
180HAVE_SOUND
181HAVE_STDLIB_H
182HAVE_STRERROR
183HAVE_STRFTIME
f2a77c3a 184HAVE_STRING_H
a0ce9ab7
DN
185HAVE_STRUCT_UTIMBUF
186HAVE_SYSINFO
f3041af1 187HAVE_SYSV_SIGPAUSE
a0ce9ab7
DN
188HAVE_SYS_SELECT_H
189HAVE_SYS_SYSTEMINFO_H
190HAVE_SYS_TIMEB_H
191HAVE_SYS_TIME_H
f3041af1 192HAVE_TCATTR
d35e1cd7 193HAVE_TERMIO
f3041af1 194HAVE_TERMIOS
a0ce9ab7 195HAVE_TERMIOS_H
f3041af1 196HAVE_TEXT_START
a0ce9ab7
DN
197HAVE_TIMEVAL
198HAVE_TM_ZONE
199HAVE_TZSET
f3041af1 200HAVE_UNISTD_H
f3041af1 201HAVE_UTIMES
a0ce9ab7
DN
202HAVE_UTIME_H
203HAVE_VOLATILE
a0ce9ab7
DN
204HAVE_WINDOW_SYSTEM
205HAVE_WORKING_VFORK
206HAVE_XRMSETDATABASE
207HPUX
a0ce9ab7 208IBMR2AIX
f3041af1 209INHIBIT_X11R6_XIM
a0ce9ab7 210INTERNAL_TERMINAL
d35e1cd7 211INTERRUPT_INPUT
f3041af1
DN
212IRIS
213IRIS_4D
a0ce9ab7
DN
214IS_ANY_SEP
215IS_DIRECTORY_SEP
d35e1cd7
DN
216KERNEL_FILE
217LDAV_SYMBOL
f3041af1 218LD_SWITCH_MACHINE
a0ce9ab7
DN
219LD_SWITCH_MACHINE_TEMACS
220LD_SWITCH_SITE
f3041af1 221LD_SWITCH_SYSTEM
a0ce9ab7 222LD_SWITCH_SYSTEM_1
f3041af1 223LD_SWITCH_SYSTEM_TEMACS
a0ce9ab7
DN
224LD_SWITCH_SYSTEM_tmp
225LD_SWITCH_X_DEFAULT
d35e1cd7 226LIBS_DEBUG
a0ce9ab7 227LIBS_IMAGE
f3041af1
DN
228LIBS_MACHINE
229LIBS_SYSTEM
230LIBS_TERMCAP
f3041af1
DN
231LIBX11_SYSTEM
232LIBXMU
233LIB_GCC
a0ce9ab7 234LIB_MATH
f3041af1
DN
235LIB_MOTIF
236LIB_STANDARD
f3041af1 237LINKER
a0ce9ab7 238LINK_CRTL_SHARE
a0ce9ab7 239LINUX_SBRK_BUG
0176a259 240LINUX_VERSION_CODE
a0ce9ab7
DN
241LISP_FLOAT_TYPE
242LNOFLSH
d35e1cd7
DN
243LOAD_AVE_CVT
244LOAD_AVE_TYPE
a0ce9ab7 245LOCALTIME_CACHE
d35e1cd7 246MAIL_USE_FLOCK
a0ce9ab7
DN
247MAIL_USE_LOCKF
248MAIL_USE_POP
249MAIL_USE_SYSTEM_LOCK
250MAXPATHLEN
251MAX_PRINT_CHARS
c5e7567d 252MIN_PTY_KERNEL_VERSION -- only used on Mac
a0ce9ab7
DN
253MODE_LINE_BINARY_TEXT
254MULTI_KBOARD
255MUST_UNDEF__STDC__
f3041af1 256NARROWPROTO
f2a77c3a 257NEED_BSDTTY
f3041af1 258NEED_ERRNO
a0ce9ab7 259NEED_LIBW
f2a77c3a 260NEED_UNISTD_H
f3041af1 261NLIST_STRUCT
d35e1cd7
DN
262NOMULTIPLEJOBS
263NONSYSTEM_DIR_LIBRARY
f3041af1 264NOT_C_CODE
a0ce9ab7 265NOT_USING_MOTIF
f2a77c3a 266NO_ABORT
d35e1cd7 267NO_ARG_ARRAY
a0ce9ab7 268NO_EDITRES
a0ce9ab7
DN
269NO_HYPHENS_IN_FILENAMES
270NO_MATHERR
d35e1cd7 271NO_REMAP
a0ce9ab7 272NO_SHARED_LIBS
f40f5dc3 273NO_SOCK_SIGIO
f3041af1 274NO_TERMIO
f3041af1
DN
275NSIG
276NSIG_MINIMUM
a0ce9ab7
DN
277NULL
278NULL_DEVICE
a0ce9ab7 279N_TXTOFF
f3041af1 280ORDINARY_LINK
a0ce9ab7
DN
281OTHER_FILES
282O_APPEND
283O_BINARY
284O_CREAT
285O_EXCL
286O_RDONLY
287O_RDWR
288O_TEXT
289O_TRUNC
290O_WRONLY
291PAGESIZE
f3041af1 292PENDING_OUTPUT_COUNT
a0ce9ab7 293POSIX
f3041af1
DN
294POSIX_SIGNALS
295PREFER_VSUSP
296PTY_ITERATION
d35e1cd7 297PTY_NAME_SPRINTF
f3041af1 298PTY_OPEN
d35e1cd7 299PTY_TTY_NAME_SPRINTF
f3041af1 300PURESIZE
f3041af1 301RUN_TIME_REMAP
a0ce9ab7 302SA_RESTART
f3041af1 303SECTION_ALIGNMENT
f3041af1 304SEGMENT_MASK
a0ce9ab7
DN
305SEPCHAR
306SETPGRP_RELEASES_CTTY
f3041af1 307SETUP_SLAVE_PTY
a0ce9ab7 308SHARABLE_LIB_BUG
a0ce9ab7
DN
309SIGALRM
310SIGCHLD
311SIGHUP
312SIGKILL
f3041af1 313SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
314SIGPIPE
315SIGQUIT
316SIGTRAP
f3041af1 317SIGTYPE
a0ce9ab7 318SOLARIS2
f3041af1 319START_FILES
a0ce9ab7
DN
320START_FILES_1
321STDC_HEADERS
322SYMS_SYSTEM
323SYSTEM_PURESIZE_EXTRA
d35e1cd7 324SYSTEM_TYPE
f3041af1 325SYSV_SYSTEM_DIR
a0ce9ab7 326Srandom
f2a77c3a
DN
327TAB3
328TABDLY
a0ce9ab7 329TERM
f3041af1
DN
330TERMINFO
331TEXT_END
332TEXT_START
a0ce9ab7 333THIS_IS_CONFIGURE
f3041af1 334THIS_IS_MAKEFILE
a0ce9ab7
DN
335TIME_WITH_SYS_TIME
336TIOCSIGSEND
337TM_IN_SYS_TIME
f3041af1 338ULIMIT_BREAK_VALUE
f3041af1 339UNEXEC
a0ce9ab7
DN
340UNIX98_PTYS
341USE_CRT_DLL
342USE_MAC_IMAGE_IO
f3041af1 343USE_MMAP_FOR_BUFFERS
a0ce9ab7 344USE_TOOLKIT_SCROLL_BARS
f3041af1
DN
345USG
346USG5
f3041af1 347USG5_4
a0ce9ab7
DN
348USG_SUBTTY_WORKS
349VALBITS
d35e1cd7 350VIRT_ADDR_VARIES
a0ce9ab7 351VMS
d35e1cd7 352WORDS_BIG_ENDIAN
a0ce9ab7 353WRETCODE
a0ce9ab7 354XINT
f2a77c3a 355XOS_NEEDS_TIME_H
a0ce9ab7
DN
356XPNTR
357XSET
358XUINT
a0ce9ab7
DN
359_AIX
360_ARCH_PPC64
361_CALLBACK_
362_FILE_OFFSET_BITS
a0ce9ab7
DN
363_LP64
364_MALLOC_INTERNAL
365_NAIVE_DOS_REGS
366_VARARGS_
367_WINSOCKAPI_
368_WINSOCK_H
369__ELF__
370__FreeBSD__
371__FreeBSD_version
372__GNUC__
0176a259 373__GNUC_MINOR__
a0ce9ab7
DN
374__NetBSD__
375__OpenBSD__
376__STDC__
377__arch64__
378__cplusplus
379__hpux
380__ia64__
381__linux__
382__mc68000__
383__mips__
f3041af1
DN
384_longjmp
385_setjmp
a0ce9ab7
DN
386_start
387abort
388access
f3041af1 389alloca
a0ce9ab7
DN
390bcmp
391bcopy
392brk
393bzero
394calloc
395chdir
396chmod
397chown
398close
399const
400creat
401ctime
a0ce9ab7
DN
402dup
403dup2
404edata
f3041af1 405emacs
f3041af1 406etext
a0ce9ab7
DN
407execlp
408execvp
a0ce9ab7 409fdopen
a0ce9ab7 410fileno
a0ce9ab7 411fopen
a0ce9ab7
DN
412free
413fsync
414ftruncate
415fwrite
416getdefdir
417getdisk
418getenv
419getpid
420getuid
a0ce9ab7
DN
421gmtime
422i386
f3041af1 423index
a0ce9ab7
DN
424init_process
425isatty
426kill
427link
428linux
429localtime
430logb
431lseek
f3041af1 432m68k
a0ce9ab7 433malloc
a0ce9ab7
DN
434mkdir
435mktemp
436open
437pclose
438pipe
439popen
a0ce9ab7
DN
440random
441read
442realloc
443rename
444rindex
445rmdir
446sbrk
447select
448sigmask
449signal
450sigsetmask
451sleep
452spawnve
453srandom
a0ce9ab7
DN
454strdup
455strerror
456stricmp
457strnicmp
458strupr
d35e1cd7 459subprocesses
a0ce9ab7
DN
460sys_nerr
461system
462temacs
463tzname
464tzset
465umask
466unix
467unlink
468utimbuf
469utime
470vfork
471wait
472write
473xfree
d35e1cd7 474
aa5fea59 475# arch-tag: bc80061a-1168-4911-9766-46aaf2640250