* s/ms-w32.h (MULTI_KBOARD): Remove.
[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
a0ce9ab7 223LINK_CRTL_SHARE
0176a259 224LINUX_VERSION_CODE
a0ce9ab7
DN
225LISP_FLOAT_TYPE
226LNOFLSH
d35e1cd7
DN
227LOAD_AVE_CVT
228LOAD_AVE_TYPE
a0ce9ab7 229LOCALTIME_CACHE
d35e1cd7 230MAIL_USE_FLOCK
a0ce9ab7
DN
231MAIL_USE_LOCKF
232MAIL_USE_POP
233MAIL_USE_SYSTEM_LOCK
234MAXPATHLEN
235MAX_PRINT_CHARS
c5e7567d 236MIN_PTY_KERNEL_VERSION -- only used on Mac
a0ce9ab7 237MODE_LINE_BINARY_TEXT
a0ce9ab7 238MUST_UNDEF__STDC__
f3041af1 239NARROWPROTO
f2a77c3a 240NEED_BSDTTY
f3041af1 241NEED_ERRNO
a0ce9ab7 242NEED_LIBW
f2a77c3a 243NEED_UNISTD_H
f3041af1 244NLIST_STRUCT
d35e1cd7
DN
245NOMULTIPLEJOBS
246NONSYSTEM_DIR_LIBRARY
f3041af1 247NOT_C_CODE
a0ce9ab7 248NOT_USING_MOTIF
f2a77c3a 249NO_ABORT
d35e1cd7 250NO_ARG_ARRAY
a0ce9ab7 251NO_EDITRES
a0ce9ab7
DN
252NO_HYPHENS_IN_FILENAMES
253NO_MATHERR
d35e1cd7 254NO_REMAP
a0ce9ab7 255NO_SHARED_LIBS
f40f5dc3 256NO_SOCK_SIGIO
f3041af1 257NO_TERMIO
f3041af1
DN
258NSIG
259NSIG_MINIMUM
a0ce9ab7
DN
260NULL
261NULL_DEVICE
f3041af1 262ORDINARY_LINK
a0ce9ab7
DN
263OTHER_FILES
264O_APPEND
265O_BINARY
266O_CREAT
267O_EXCL
268O_RDONLY
269O_RDWR
270O_TEXT
271O_TRUNC
272O_WRONLY
273PAGESIZE
f3041af1 274PENDING_OUTPUT_COUNT
a0ce9ab7 275POSIX
f3041af1
DN
276POSIX_SIGNALS
277PREFER_VSUSP
278PTY_ITERATION
d35e1cd7 279PTY_NAME_SPRINTF
f3041af1 280PTY_OPEN
d35e1cd7 281PTY_TTY_NAME_SPRINTF
f3041af1 282PURESIZE
f3041af1 283RUN_TIME_REMAP
a0ce9ab7 284SA_RESTART
f3041af1 285SECTION_ALIGNMENT
f3041af1 286SEGMENT_MASK
a0ce9ab7
DN
287SEPCHAR
288SETPGRP_RELEASES_CTTY
f3041af1 289SETUP_SLAVE_PTY
a0ce9ab7 290SHARABLE_LIB_BUG
a0ce9ab7
DN
291SIGALRM
292SIGCHLD
293SIGHUP
294SIGKILL
f3041af1 295SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
296SIGPIPE
297SIGQUIT
298SIGTRAP
f3041af1 299SIGTYPE
a0ce9ab7 300SOLARIS2
f3041af1 301START_FILES
a0ce9ab7
DN
302START_FILES_1
303STDC_HEADERS
304SYMS_SYSTEM
305SYSTEM_PURESIZE_EXTRA
d35e1cd7 306SYSTEM_TYPE
bbbac910 307SYSTEM_MALLOC
f3041af1 308SYSV_SYSTEM_DIR
a0ce9ab7 309Srandom
f2a77c3a
DN
310TAB3
311TABDLY
a0ce9ab7 312TERM
f3041af1
DN
313TERMINFO
314TEXT_END
315TEXT_START
a0ce9ab7 316THIS_IS_CONFIGURE
f3041af1 317THIS_IS_MAKEFILE
a0ce9ab7
DN
318TIME_WITH_SYS_TIME
319TIOCSIGSEND
320TM_IN_SYS_TIME
f3041af1 321ULIMIT_BREAK_VALUE
f3041af1 322UNEXEC
a0ce9ab7
DN
323UNIX98_PTYS
324USE_CRT_DLL
325USE_MAC_IMAGE_IO
f3041af1 326USE_MMAP_FOR_BUFFERS
a0ce9ab7 327USE_TOOLKIT_SCROLL_BARS
f3041af1
DN
328USG
329USG5
f3041af1 330USG5_4
a0ce9ab7
DN
331USG_SUBTTY_WORKS
332VALBITS
d35e1cd7 333VIRT_ADDR_VARIES
a0ce9ab7 334VMS
d35e1cd7 335WORDS_BIG_ENDIAN
a0ce9ab7 336WRETCODE
a0ce9ab7 337XINT
f2a77c3a 338XOS_NEEDS_TIME_H
a0ce9ab7
DN
339XPNTR
340XSET
341XUINT
a0ce9ab7
DN
342_AIX
343_ARCH_PPC64
344_CALLBACK_
345_FILE_OFFSET_BITS
a0ce9ab7
DN
346_LP64
347_MALLOC_INTERNAL
348_NAIVE_DOS_REGS
349_VARARGS_
350_WINSOCKAPI_
351_WINSOCK_H
352__ELF__
353__FreeBSD__
354__FreeBSD_version
355__GNUC__
bbbac910 356__GNU_LIBRARY__
0176a259 357__GNUC_MINOR__
a0ce9ab7
DN
358__NetBSD__
359__OpenBSD__
360__STDC__
361__arch64__
362__cplusplus
363__hpux
364__ia64__
365__linux__
366__mc68000__
367__mips__
f3041af1
DN
368_longjmp
369_setjmp
a0ce9ab7
DN
370_start
371abort
372access
f3041af1 373alloca
a0ce9ab7
DN
374bcmp
375bcopy
376brk
377bzero
378calloc
379chdir
380chmod
381chown
382close
383const
384creat
385ctime
a0ce9ab7
DN
386dup
387dup2
388edata
f3041af1 389emacs
f3041af1 390etext
a0ce9ab7
DN
391execlp
392execvp
a0ce9ab7 393fdopen
a0ce9ab7 394fileno
a0ce9ab7 395fopen
a0ce9ab7
DN
396free
397fsync
398ftruncate
399fwrite
400getdefdir
401getdisk
402getenv
403getpid
404getuid
a0ce9ab7
DN
405gmtime
406i386
f3041af1 407index
a0ce9ab7
DN
408init_process
409isatty
410kill
411link
412linux
413localtime
414logb
415lseek
f3041af1 416m68k
a0ce9ab7 417malloc
a0ce9ab7
DN
418mkdir
419mktemp
420open
421pclose
422pipe
423popen
a0ce9ab7
DN
424random
425read
426realloc
427rename
428rindex
429rmdir
430sbrk
431select
432sigmask
433signal
434sigsetmask
435sleep
436spawnve
437srandom
a0ce9ab7
DN
438strdup
439strerror
440stricmp
441strnicmp
442strupr
a0ce9ab7
DN
443sys_nerr
444system
445temacs
446tzname
447tzset
448umask
449unix
450unlink
451utimbuf
452utime
453vfork
454wait
455write
456xfree
d35e1cd7 457
aa5fea59 458# arch-tag: bc80061a-1168-4911-9766-46aaf2640250