Import getloadavg module from gnulib.
[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.
796bb936 10__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
077e3aa8
EZ
11DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
12WINDOWSNT Compiling the native MS-Windows (W32) port.
13__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
14_MSC_VER Compiling the W32 port with the Microsoft C compiler.
14145fa3 15DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
aa5fea59
SM
16
17** Distinguishing GUIs **
18
077e3aa8 19HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
14145fa3 20HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
d1a5744d 21NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
edfda783 22NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
aa5fea59 23HAVE_X11 Compile support for the X11 GUI.
077e3aa8 24HAVE_X_WINDOWS Compile support for X Window system
3df7b338
GM
25 (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
26 be, and vice versa. At least, this is true for configure, and
27 msdos; not sure about nt.)
aa5fea59
SM
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.
c3179b06 43
077e3aa8 44** Compile-time options **
c3179b06 45
077e3aa8
EZ
46REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
47SYSTEM_MALLOC Use the system library's malloc.
bbbac910 48subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
14145fa3 49USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
077e3aa8 50
0f21c005 51** System specific macros, decribed in detail in src/s/template.h
0f21c005
DN
52CLASH_DETECTION
53COFF
54FIRST_PTY_LETTER
55HAVE_PTYS
56HAVE_TERMIO
57HAVE_TERMIOS
58INTERRUPT_INPUT
0f21c005 59NARROWPROTO
0f21c005
DN
60SEPCHAR
61SIGTYPE
62SYSTEM_TYPE
0f21c005
DN
63
64** Machine specific macros, decribed in detail in src/m/template.h
0f21c005 65VIRT_ADDR_VARIES
0f21c005 66
2b5b9582
EZ
67** Misc macros
68USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
69
4624371d 70** Replace, the definition is trivial: SWITCH_ENUM_CAST
d35e1cd7 71
a0ce9ab7
DN
72** 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.
73
d35e1cd7 74
a0ce9ab7
DN
75AIX
76AMPERSAND_FULL_NAME
a0ce9ab7
DN
77BITS_PER_EMACS_INT
78BITS_PER_LONG
97560d35
GM
79BITS_PER_CHAR
80BITS_PER_SHORT
81BITS_PER_INT
a0ce9ab7 82BROKEN_DATAGRAM_SOCKETS
f3041af1 83BROKEN_FIONREAD
a0ce9ab7
DN
84BROKEN_GET_CURRENT_DIR_NAME
85BROKEN_NON_BLOCKING_CONNECT
86BROKEN_PTY_READ_AFTER_EAGAIN
87BROKEN_SA_RESTART
88BROKEN_SIGAIO
f3041af1 89BROKEN_SIGIO
a0ce9ab7
DN
90BROKEN_SIGPOLL
91BROKEN_SIGPTY
a0ce9ab7 92BSD4_2
f3041af1 93BSD4_3
d35e1cd7 94BSD_SYSTEM
d35e1cd7 95CLASH_DETECTION
f3041af1
DN
96DATA_SEG_BITS
97DATA_START
a0ce9ab7 98DBL_MIN_REPLACEMENT
a0ce9ab7
DN
99DEFAULT_SOUND_DEVICE
100DEVICE_SEP
101DIRECTORY_SEP
102DONT_REOPEN_PTY
a0ce9ab7
DN
103DOUG_LEA_MALLOC
104DebPrint
105EMACSDEBUG
106EMACS_CONFIGURATION
107EMACS_CONFIG_OPTIONS
108EMACS_INT
109EMACS_UINT
a0ce9ab7 110FILE_SYSTEM_CASE
a0ce9ab7 111FLOAT_CHECK_DOMAIN
a0ce9ab7
DN
112GC_LISP_OBJECT_ALIGNMENT
113GC_MARK_SECONDARY_STACK
f3041af1
DN
114GC_MARK_STACK
115GC_SETJMP_WORKS
a0ce9ab7
DN
116GMALLOC_INHIBIT_VALLOC
117GNU_LIBRARY_PENDING_OUTPUT_COUNT
118GNU_LINUX
f3041af1 119GNU_MALLOC
a0ce9ab7 120HAVE_AIX_SMT_EXP
a0ce9ab7 121HAVE_CBRT
f3041af1 122HAVE_CLOSEDIR
a0ce9ab7
DN
123HAVE_DUP2
124HAVE_EUIDACCESS
a0ce9ab7
DN
125HAVE_FMOD
126HAVE_FPATHCONF
127HAVE_FREXP
128HAVE_FSYNC
129HAVE_FTIME
130HAVE_GETCWD
131HAVE_GETDOMAINNAME
132HAVE_GETHOSTNAME
133HAVE_GETLOADAVG
134HAVE_GETPAGESIZE
135HAVE_GETPT
f3041af1 136HAVE_GETTIMEOFDAY
a0ce9ab7
DN
137HAVE_GETWD
138HAVE_H_ERRNO
f3041af1 139HAVE_INET_SOCKETS
a0ce9ab7 140HAVE_INVERSE_HYPERBOLIC
a0ce9ab7 141HAVE_LIBKSTAT
a0ce9ab7
DN
142HAVE_LIMITS_H
143HAVE_LINUX_VERSION_H
144HAVE_LOGB
145HAVE_LONG_FILE_NAMES
146HAVE_LRAND48
147HAVE_MENUS
148HAVE_MKDIR
149HAVE_MKTIME
150HAVE_MOUSE
151HAVE_PERROR
152HAVE_PSTAT_GETDYNAMIC
a0ce9ab7
DN
153HAVE_PWD_H
154HAVE_RANDOM
155HAVE_RENAME
156HAVE_RES_INIT
a0ce9ab7
DN
157HAVE_RINT
158HAVE_RMDIR
f3041af1 159HAVE_SELECT
a0ce9ab7
DN
160HAVE_SETLOCALE
161HAVE_SETPGID
162HAVE_SETRLIMIT
163HAVE_SETSID
164HAVE_SHUTDOWN
d35e1cd7 165HAVE_SOCKETS
a0ce9ab7
DN
166HAVE_SOUND
167HAVE_STDLIB_H
168HAVE_STRERROR
169HAVE_STRFTIME
f2a77c3a 170HAVE_STRING_H
a0ce9ab7
DN
171HAVE_STRUCT_UTIMBUF
172HAVE_SYSINFO
f3041af1 173HAVE_SYSV_SIGPAUSE
a0ce9ab7
DN
174HAVE_SYS_SELECT_H
175HAVE_SYS_SYSTEMINFO_H
176HAVE_SYS_TIMEB_H
177HAVE_SYS_TIME_H
f3041af1 178HAVE_TCATTR
a0ce9ab7 179HAVE_TERMIOS_H
a0ce9ab7
DN
180HAVE_TIMEVAL
181HAVE_TM_ZONE
182HAVE_TZSET
f3041af1 183HAVE_UNISTD_H
f3041af1 184HAVE_UTIMES
a0ce9ab7 185HAVE_UTIME_H
a0ce9ab7
DN
186HAVE_WINDOW_SYSTEM
187HAVE_WORKING_VFORK
188HAVE_XRMSETDATABASE
189HPUX
a0ce9ab7 190INTERNAL_TERMINAL
a0ce9ab7
DN
191IS_ANY_SEP
192IS_DIRECTORY_SEP
f3041af1 193LINKER
0176a259 194LINUX_VERSION_CODE
a0ce9ab7
DN
195LISP_FLOAT_TYPE
196LNOFLSH
a0ce9ab7 197LOCALTIME_CACHE
1495e2fc 198MAIL_USE_FLOCK
a0ce9ab7
DN
199MAIL_USE_LOCKF
200MAIL_USE_POP
201MAIL_USE_SYSTEM_LOCK
202MAXPATHLEN
c5e7567d 203MIN_PTY_KERNEL_VERSION -- only used on Mac
a0ce9ab7 204MODE_LINE_BINARY_TEXT
a0ce9ab7 205MUST_UNDEF__STDC__
f3041af1 206NLIST_STRUCT
f2a77c3a 207NO_ABORT
a0ce9ab7 208NO_EDITRES
a0ce9ab7 209NO_MATHERR
f3041af1 210NO_TERMIO
f3041af1
DN
211NSIG
212NSIG_MINIMUM
a0ce9ab7
DN
213NULL
214NULL_DEVICE
f3041af1 215ORDINARY_LINK
a0ce9ab7 216O_APPEND
a0ce9ab7
DN
217O_RDONLY
218O_RDWR
a0ce9ab7 219PAGESIZE
f3041af1 220PENDING_OUTPUT_COUNT
a0ce9ab7 221POSIX
f3041af1
DN
222PREFER_VSUSP
223PTY_ITERATION
d35e1cd7 224PTY_NAME_SPRINTF
f3041af1 225PTY_OPEN
d35e1cd7 226PTY_TTY_NAME_SPRINTF
f3041af1 227PURESIZE
f3041af1 228RUN_TIME_REMAP
a0ce9ab7 229SA_RESTART
f3041af1 230SEGMENT_MASK
a0ce9ab7 231SETPGRP_RELEASES_CTTY
f3041af1 232SETUP_SLAVE_PTY
a0ce9ab7
DN
233SIGALRM
234SIGCHLD
235SIGHUP
236SIGKILL
f3041af1 237SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
238SIGPIPE
239SIGQUIT
240SIGTRAP
f3041af1 241SIGTYPE
a0ce9ab7 242SOLARIS2
a0ce9ab7 243STDC_HEADERS
a0ce9ab7 244SYSTEM_PURESIZE_EXTRA
bbbac910 245SYSTEM_MALLOC
f3041af1 246SYSV_SYSTEM_DIR
f2a77c3a
DN
247TAB3
248TABDLY
a0ce9ab7 249TERM
a0ce9ab7
DN
250TIME_WITH_SYS_TIME
251TIOCSIGSEND
252TM_IN_SYS_TIME
f3041af1 253ULIMIT_BREAK_VALUE
a0ce9ab7
DN
254UNIX98_PTYS
255USE_CRT_DLL
a0ce9ab7 256USE_TOOLKIT_SCROLL_BARS
f3041af1
DN
257USG
258USG5
f3041af1 259USG5_4
a0ce9ab7
DN
260USG_SUBTTY_WORKS
261VALBITS
a0ce9ab7 262WRETCODE
a0ce9ab7 263XINT
f2a77c3a 264XOS_NEEDS_TIME_H
a0ce9ab7
DN
265XPNTR
266XSET
267XUINT
a0ce9ab7
DN
268_AIX
269_ARCH_PPC64
270_CALLBACK_
271_FILE_OFFSET_BITS
a0ce9ab7
DN
272_LP64
273_MALLOC_INTERNAL
274_NAIVE_DOS_REGS
275_VARARGS_
276_WINSOCKAPI_
277_WINSOCK_H
278__ELF__
279__FreeBSD__
a0ce9ab7 280__GNUC__
bbbac910 281__GNU_LIBRARY__
0176a259 282__GNUC_MINOR__
a0ce9ab7
DN
283__NetBSD__
284__OpenBSD__
285__STDC__
286__arch64__
287__cplusplus
288__hpux
289__ia64__
290__linux__
291__mc68000__
292__mips__
f3041af1
DN
293_longjmp
294_setjmp
a0ce9ab7
DN
295_start
296abort
297access
f3041af1 298alloca
a0ce9ab7 299brk
a0ce9ab7
DN
300calloc
301chdir
302chmod
303chown
304close
305const
306creat
307ctime
a0ce9ab7
DN
308dup
309dup2
310edata
f3041af1 311emacs
f3041af1 312etext
a0ce9ab7
DN
313execlp
314execvp
a0ce9ab7 315fdopen
a0ce9ab7 316fileno
a0ce9ab7 317fopen
a0ce9ab7
DN
318free
319fsync
320ftruncate
321fwrite
322getdefdir
323getdisk
324getenv
325getpid
326getuid
a0ce9ab7
DN
327gmtime
328i386
f3041af1 329index
a0ce9ab7
DN
330init_process
331isatty
332kill
333link
334linux
335localtime
336logb
337lseek
f3041af1 338m68k
a0ce9ab7 339malloc
a0ce9ab7
DN
340mkdir
341mktemp
342open
343pclose
344pipe
345popen
a0ce9ab7
DN
346random
347read
348realloc
349rename
350rindex
351rmdir
352sbrk
353select
354sigmask
355signal
356sigsetmask
357sleep
358spawnve
359srandom
a0ce9ab7
DN
360strdup
361strerror
362stricmp
363strnicmp
364strupr
a0ce9ab7
DN
365sys_nerr
366system
367temacs
368tzname
369tzset
370umask
371unix
372unlink
373utimbuf
374utime
375vfork
376wait
377write
378xfree