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