Refill some long/short copyright headers.
[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
DN
65LOAD_AVE_CVT
66LOAD_AVE_TYPE
0f21c005 67VIRT_ADDR_VARIES
0f21c005 68
2b5b9582
EZ
69** Misc macros
70USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
71
4624371d 72** Replace, the definition is trivial: SWITCH_ENUM_CAST
d35e1cd7 73
a0ce9ab7
DN
74** 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.
75
d35e1cd7 76
a0ce9ab7
DN
77AIX
78AMPERSAND_FULL_NAME
a0ce9ab7
DN
79BITS_PER_EMACS_INT
80BITS_PER_LONG
97560d35
GM
81BITS_PER_CHAR
82BITS_PER_SHORT
83BITS_PER_INT
a0ce9ab7 84BROKEN_DATAGRAM_SOCKETS
f3041af1 85BROKEN_FIONREAD
a0ce9ab7
DN
86BROKEN_GET_CURRENT_DIR_NAME
87BROKEN_NON_BLOCKING_CONNECT
88BROKEN_PTY_READ_AFTER_EAGAIN
89BROKEN_SA_RESTART
90BROKEN_SIGAIO
f3041af1 91BROKEN_SIGIO
a0ce9ab7
DN
92BROKEN_SIGPOLL
93BROKEN_SIGPTY
a0ce9ab7 94BSD4_2
f3041af1 95BSD4_3
d35e1cd7 96BSD_SYSTEM
d35e1cd7 97CLASH_DETECTION
f3041af1
DN
98DATA_SEG_BITS
99DATA_START
a0ce9ab7 100DBL_MIN_REPLACEMENT
a0ce9ab7
DN
101DEFAULT_SOUND_DEVICE
102DEVICE_SEP
103DIRECTORY_SEP
104DONT_REOPEN_PTY
a0ce9ab7
DN
105DOUG_LEA_MALLOC
106DebPrint
107EMACSDEBUG
108EMACS_CONFIGURATION
109EMACS_CONFIG_OPTIONS
110EMACS_INT
111EMACS_UINT
a0ce9ab7 112FILE_SYSTEM_CASE
a0ce9ab7 113FLOAT_CHECK_DOMAIN
f3041af1 114FSCALE
a0ce9ab7
DN
115GC_LISP_OBJECT_ALIGNMENT
116GC_MARK_SECONDARY_STACK
f3041af1
DN
117GC_MARK_STACK
118GC_SETJMP_WORKS
a0ce9ab7
DN
119GMALLOC_INHIBIT_VALLOC
120GNU_LIBRARY_PENDING_OUTPUT_COUNT
121GNU_LINUX
f3041af1 122GNU_MALLOC
a0ce9ab7 123HAVE_AIX_SMT_EXP
a0ce9ab7 124HAVE_CBRT
f3041af1 125HAVE_CLOSEDIR
a0ce9ab7
DN
126HAVE_DUP2
127HAVE_EUIDACCESS
a0ce9ab7
DN
128HAVE_FMOD
129HAVE_FPATHCONF
130HAVE_FREXP
131HAVE_FSYNC
132HAVE_FTIME
133HAVE_GETCWD
134HAVE_GETDOMAINNAME
135HAVE_GETHOSTNAME
136HAVE_GETLOADAVG
137HAVE_GETPAGESIZE
138HAVE_GETPT
f3041af1 139HAVE_GETTIMEOFDAY
a0ce9ab7
DN
140HAVE_GETWD
141HAVE_H_ERRNO
f3041af1 142HAVE_INET_SOCKETS
a0ce9ab7 143HAVE_INVERSE_HYPERBOLIC
a0ce9ab7 144HAVE_LIBKSTAT
a0ce9ab7
DN
145HAVE_LIMITS_H
146HAVE_LINUX_VERSION_H
147HAVE_LOGB
148HAVE_LONG_FILE_NAMES
149HAVE_LRAND48
150HAVE_MENUS
151HAVE_MKDIR
152HAVE_MKTIME
153HAVE_MOUSE
154HAVE_PERROR
155HAVE_PSTAT_GETDYNAMIC
a0ce9ab7
DN
156HAVE_PWD_H
157HAVE_RANDOM
158HAVE_RENAME
159HAVE_RES_INIT
a0ce9ab7
DN
160HAVE_RINT
161HAVE_RMDIR
f3041af1 162HAVE_SELECT
a0ce9ab7
DN
163HAVE_SETLOCALE
164HAVE_SETPGID
165HAVE_SETRLIMIT
166HAVE_SETSID
167HAVE_SHUTDOWN
d35e1cd7 168HAVE_SOCKETS
a0ce9ab7
DN
169HAVE_SOUND
170HAVE_STDLIB_H
171HAVE_STRERROR
172HAVE_STRFTIME
f2a77c3a 173HAVE_STRING_H
a0ce9ab7
DN
174HAVE_STRUCT_UTIMBUF
175HAVE_SYSINFO
f3041af1 176HAVE_SYSV_SIGPAUSE
a0ce9ab7
DN
177HAVE_SYS_SELECT_H
178HAVE_SYS_SYSTEMINFO_H
179HAVE_SYS_TIMEB_H
180HAVE_SYS_TIME_H
f3041af1 181HAVE_TCATTR
a0ce9ab7 182HAVE_TERMIOS_H
a0ce9ab7
DN
183HAVE_TIMEVAL
184HAVE_TM_ZONE
185HAVE_TZSET
f3041af1 186HAVE_UNISTD_H
f3041af1 187HAVE_UTIMES
a0ce9ab7 188HAVE_UTIME_H
a0ce9ab7
DN
189HAVE_WINDOW_SYSTEM
190HAVE_WORKING_VFORK
191HAVE_XRMSETDATABASE
192HPUX
a0ce9ab7 193INTERNAL_TERMINAL
a0ce9ab7
DN
194IS_ANY_SEP
195IS_DIRECTORY_SEP
d35e1cd7
DN
196KERNEL_FILE
197LDAV_SYMBOL
f3041af1 198LINKER
0176a259 199LINUX_VERSION_CODE
a0ce9ab7
DN
200LISP_FLOAT_TYPE
201LNOFLSH
a0ce9ab7 202LOCALTIME_CACHE
1495e2fc 203MAIL_USE_FLOCK
a0ce9ab7
DN
204MAIL_USE_LOCKF
205MAIL_USE_POP
206MAIL_USE_SYSTEM_LOCK
207MAXPATHLEN
c5e7567d 208MIN_PTY_KERNEL_VERSION -- only used on Mac
a0ce9ab7 209MODE_LINE_BINARY_TEXT
a0ce9ab7 210MUST_UNDEF__STDC__
f3041af1 211NLIST_STRUCT
f2a77c3a 212NO_ABORT
a0ce9ab7 213NO_EDITRES
a0ce9ab7 214NO_MATHERR
f3041af1 215NO_TERMIO
f3041af1
DN
216NSIG
217NSIG_MINIMUM
a0ce9ab7
DN
218NULL
219NULL_DEVICE
f3041af1 220ORDINARY_LINK
a0ce9ab7 221O_APPEND
a0ce9ab7
DN
222O_RDONLY
223O_RDWR
a0ce9ab7 224PAGESIZE
f3041af1 225PENDING_OUTPUT_COUNT
a0ce9ab7 226POSIX
f3041af1
DN
227PREFER_VSUSP
228PTY_ITERATION
d35e1cd7 229PTY_NAME_SPRINTF
f3041af1 230PTY_OPEN
d35e1cd7 231PTY_TTY_NAME_SPRINTF
f3041af1 232PURESIZE
f3041af1 233RUN_TIME_REMAP
a0ce9ab7 234SA_RESTART
f3041af1 235SEGMENT_MASK
a0ce9ab7 236SETPGRP_RELEASES_CTTY
f3041af1 237SETUP_SLAVE_PTY
a0ce9ab7
DN
238SIGALRM
239SIGCHLD
240SIGHUP
241SIGKILL
f3041af1 242SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
243SIGPIPE
244SIGQUIT
245SIGTRAP
f3041af1 246SIGTYPE
a0ce9ab7 247SOLARIS2
a0ce9ab7 248STDC_HEADERS
a0ce9ab7 249SYSTEM_PURESIZE_EXTRA
bbbac910 250SYSTEM_MALLOC
f3041af1 251SYSV_SYSTEM_DIR
f2a77c3a
DN
252TAB3
253TABDLY
a0ce9ab7 254TERM
a0ce9ab7
DN
255TIME_WITH_SYS_TIME
256TIOCSIGSEND
257TM_IN_SYS_TIME
f3041af1 258ULIMIT_BREAK_VALUE
a0ce9ab7
DN
259UNIX98_PTYS
260USE_CRT_DLL
a0ce9ab7 261USE_TOOLKIT_SCROLL_BARS
f3041af1
DN
262USG
263USG5
f3041af1 264USG5_4
a0ce9ab7
DN
265USG_SUBTTY_WORKS
266VALBITS
a0ce9ab7 267WRETCODE
a0ce9ab7 268XINT
f2a77c3a 269XOS_NEEDS_TIME_H
a0ce9ab7
DN
270XPNTR
271XSET
272XUINT
a0ce9ab7
DN
273_AIX
274_ARCH_PPC64
275_CALLBACK_
276_FILE_OFFSET_BITS
a0ce9ab7
DN
277_LP64
278_MALLOC_INTERNAL
279_NAIVE_DOS_REGS
280_VARARGS_
281_WINSOCKAPI_
282_WINSOCK_H
283__ELF__
284__FreeBSD__
a0ce9ab7 285__GNUC__
bbbac910 286__GNU_LIBRARY__
0176a259 287__GNUC_MINOR__
a0ce9ab7
DN
288__NetBSD__
289__OpenBSD__
290__STDC__
291__arch64__
292__cplusplus
293__hpux
294__ia64__
295__linux__
296__mc68000__
297__mips__
f3041af1
DN
298_longjmp
299_setjmp
a0ce9ab7
DN
300_start
301abort
302access
f3041af1 303alloca
a0ce9ab7 304brk
a0ce9ab7
DN
305calloc
306chdir
307chmod
308chown
309close
310const
311creat
312ctime
a0ce9ab7
DN
313dup
314dup2
315edata
f3041af1 316emacs
f3041af1 317etext
a0ce9ab7
DN
318execlp
319execvp
a0ce9ab7 320fdopen
a0ce9ab7 321fileno
a0ce9ab7 322fopen
a0ce9ab7
DN
323free
324fsync
325ftruncate
326fwrite
327getdefdir
328getdisk
329getenv
330getpid
331getuid
a0ce9ab7
DN
332gmtime
333i386
f3041af1 334index
a0ce9ab7
DN
335init_process
336isatty
337kill
338link
339linux
340localtime
341logb
342lseek
f3041af1 343m68k
a0ce9ab7 344malloc
a0ce9ab7
DN
345mkdir
346mktemp
347open
348pclose
349pipe
350popen
a0ce9ab7
DN
351random
352read
353realloc
354rename
355rindex
356rmdir
357sbrk
358select
359sigmask
360signal
361sigsetmask
362sleep
363spawnve
364srandom
a0ce9ab7
DN
365strdup
366strerror
367stricmp
368strnicmp
369strupr
a0ce9ab7
DN
370sys_nerr
371system
372temacs
373tzname
374tzset
375umask
376unix
377unlink
378utimbuf
379utime
380vfork
381wait
382write
383xfree
d35e1cd7 384