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