Port to Solaris 8.
[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.
646b5f55 49DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks on Lisp_Object use.
077e3aa8 50
cd1181db 51** System specific macros, described in detail in src/s/template.h
0f21c005
DN
52CLASH_DETECTION
53COFF
54FIRST_PTY_LETTER
55HAVE_PTYS
0f21c005 56INTERRUPT_INPUT
0f21c005 57NARROWPROTO
0f21c005 58SEPCHAR
0f21c005 59SYSTEM_TYPE
0f21c005 60
2b5b9582
EZ
61** Misc macros
62USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
63
34374650 64** Defines from 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/s/*.h.
a0ce9ab7 65
d35e1cd7 66
a0ce9ab7
DN
67AIX
68AMPERSAND_FULL_NAME
a0ce9ab7 69BROKEN_DATAGRAM_SOCKETS
f3041af1 70BROKEN_FIONREAD
a0ce9ab7
DN
71BROKEN_GET_CURRENT_DIR_NAME
72BROKEN_NON_BLOCKING_CONNECT
73BROKEN_PTY_READ_AFTER_EAGAIN
74BROKEN_SA_RESTART
75BROKEN_SIGAIO
f3041af1 76BROKEN_SIGIO
a0ce9ab7
DN
77BROKEN_SIGPOLL
78BROKEN_SIGPTY
a0ce9ab7 79BSD4_2
d35e1cd7 80BSD_SYSTEM
d35e1cd7 81CLASH_DETECTION
f3041af1
DN
82DATA_SEG_BITS
83DATA_START
a0ce9ab7 84DBL_MIN_REPLACEMENT
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
a0ce9ab7 96FLOAT_CHECK_DOMAIN
a0ce9ab7
DN
97GC_LISP_OBJECT_ALIGNMENT
98GC_MARK_SECONDARY_STACK
f3041af1
DN
99GC_MARK_STACK
100GC_SETJMP_WORKS
a0ce9ab7
DN
101GMALLOC_INHIBIT_VALLOC
102GNU_LIBRARY_PENDING_OUTPUT_COUNT
103GNU_LINUX
f3041af1 104GNU_MALLOC
a0ce9ab7 105HAVE_AIX_SMT_EXP
a0ce9ab7 106HAVE_CBRT
f3041af1 107HAVE_CLOSEDIR
a0ce9ab7
DN
108HAVE_DUP2
109HAVE_EUIDACCESS
a0ce9ab7
DN
110HAVE_FMOD
111HAVE_FPATHCONF
112HAVE_FREXP
113HAVE_FSYNC
a0ce9ab7 114HAVE_GETCWD
a0ce9ab7
DN
115HAVE_GETHOSTNAME
116HAVE_GETLOADAVG
117HAVE_GETPAGESIZE
118HAVE_GETPT
f3041af1 119HAVE_GETTIMEOFDAY
a0ce9ab7
DN
120HAVE_GETWD
121HAVE_H_ERRNO
f3041af1 122HAVE_INET_SOCKETS
a0ce9ab7 123HAVE_INVERSE_HYPERBOLIC
a0ce9ab7 124HAVE_LIBKSTAT
a0ce9ab7
DN
125HAVE_LIMITS_H
126HAVE_LINUX_VERSION_H
127HAVE_LOGB
128HAVE_LONG_FILE_NAMES
129HAVE_LRAND48
130HAVE_MENUS
a0ce9ab7
DN
131HAVE_MKTIME
132HAVE_MOUSE
a0ce9ab7 133HAVE_PSTAT_GETDYNAMIC
a0ce9ab7
DN
134HAVE_PWD_H
135HAVE_RANDOM
a0ce9ab7 136HAVE_RES_INIT
a0ce9ab7 137HAVE_RINT
f3041af1 138HAVE_SELECT
a0ce9ab7
DN
139HAVE_SETLOCALE
140HAVE_SETPGID
141HAVE_SETRLIMIT
142HAVE_SETSID
143HAVE_SHUTDOWN
d35e1cd7 144HAVE_SOCKETS
a0ce9ab7
DN
145HAVE_SOUND
146HAVE_STDLIB_H
a0ce9ab7 147HAVE_STRFTIME
f2a77c3a 148HAVE_STRING_H
a0ce9ab7 149HAVE_STRUCT_UTIMBUF
a0ce9ab7
DN
150HAVE_SYS_SELECT_H
151HAVE_SYS_SYSTEMINFO_H
152HAVE_SYS_TIMEB_H
153HAVE_SYS_TIME_H
f3041af1 154HAVE_TCATTR
a0ce9ab7
DN
155HAVE_TM_ZONE
156HAVE_TZSET
f3041af1 157HAVE_UNISTD_H
a0ce9ab7 158HAVE_UTIME_H
a0ce9ab7
DN
159HAVE_WINDOW_SYSTEM
160HAVE_WORKING_VFORK
161HAVE_XRMSETDATABASE
162HPUX
a0ce9ab7 163INTERNAL_TERMINAL
a0ce9ab7
DN
164IS_ANY_SEP
165IS_DIRECTORY_SEP
f3041af1 166LINKER
0176a259 167LINUX_VERSION_CODE
a0ce9ab7 168LNOFLSH
a0ce9ab7 169LOCALTIME_CACHE
1495e2fc 170MAIL_USE_FLOCK
a0ce9ab7
DN
171MAIL_USE_LOCKF
172MAIL_USE_POP
173MAIL_USE_SYSTEM_LOCK
174MAXPATHLEN
c5e7567d 175MIN_PTY_KERNEL_VERSION -- only used on Mac
a0ce9ab7 176MODE_LINE_BINARY_TEXT
a0ce9ab7 177MUST_UNDEF__STDC__
f3041af1 178NLIST_STRUCT
f2a77c3a 179NO_ABORT
a0ce9ab7 180NO_EDITRES
a0ce9ab7 181NO_MATHERR
f3041af1 182NO_TERMIO
f3041af1
DN
183NSIG
184NSIG_MINIMUM
a0ce9ab7 185NULL_DEVICE
f3041af1 186ORDINARY_LINK
a0ce9ab7 187O_APPEND
a0ce9ab7
DN
188O_RDONLY
189O_RDWR
a0ce9ab7 190PAGESIZE
f3041af1 191PENDING_OUTPUT_COUNT
f3041af1
DN
192PREFER_VSUSP
193PTY_ITERATION
d35e1cd7 194PTY_NAME_SPRINTF
f3041af1 195PTY_OPEN
d35e1cd7 196PTY_TTY_NAME_SPRINTF
f3041af1 197PURESIZE
f3041af1 198RUN_TIME_REMAP
a0ce9ab7 199SA_RESTART
f3041af1 200SEGMENT_MASK
a0ce9ab7 201SETPGRP_RELEASES_CTTY
f3041af1 202SETUP_SLAVE_PTY
a0ce9ab7
DN
203SIGALRM
204SIGCHLD
205SIGHUP
206SIGKILL
f3041af1 207SIGNALS_VIA_CHARACTERS
a0ce9ab7
DN
208SIGPIPE
209SIGQUIT
210SIGTRAP
a0ce9ab7 211SOLARIS2
a0ce9ab7 212STDC_HEADERS
a0ce9ab7 213SYSTEM_PURESIZE_EXTRA
bbbac910 214SYSTEM_MALLOC
f3041af1 215SYSV_SYSTEM_DIR
f2a77c3a
DN
216TAB3
217TABDLY
a0ce9ab7 218TERM
a0ce9ab7
DN
219TIME_WITH_SYS_TIME
220TIOCSIGSEND
221TM_IN_SYS_TIME
f3041af1 222ULIMIT_BREAK_VALUE
a0ce9ab7
DN
223UNIX98_PTYS
224USE_CRT_DLL
a0ce9ab7 225USE_TOOLKIT_SCROLL_BARS
f3041af1
DN
226USG
227USG5
a0ce9ab7
DN
228USG_SUBTTY_WORKS
229VALBITS
f2a77c3a 230XOS_NEEDS_TIME_H
a0ce9ab7
DN
231_AIX
232_ARCH_PPC64
a0ce9ab7 233_FILE_OFFSET_BITS
a0ce9ab7
DN
234_LP64
235_MALLOC_INTERNAL
236_NAIVE_DOS_REGS
237_VARARGS_
238_WINSOCKAPI_
239_WINSOCK_H
f3041af1
DN
240_longjmp
241_setjmp
a0ce9ab7
DN
242_start
243abort
244access
f3041af1 245alloca
a0ce9ab7 246brk
a0ce9ab7
DN
247calloc
248chdir
249chmod
250chown
251close
a0ce9ab7
DN
252creat
253ctime
a0ce9ab7
DN
254dup
255dup2
256edata
f3041af1 257emacs
f3041af1 258etext
a0ce9ab7
DN
259execlp
260execvp
a0ce9ab7 261fdopen
a0ce9ab7 262fileno
a0ce9ab7 263fopen
a0ce9ab7
DN
264free
265fsync
266ftruncate
267fwrite
268getdefdir
269getdisk
270getenv
271getpid
272getuid
a0ce9ab7 273gmtime
f3041af1 274index
a0ce9ab7
DN
275isatty
276kill
277link
278linux
279localtime
280logb
281lseek
a0ce9ab7 282malloc
a0ce9ab7
DN
283mkdir
284mktemp
285open
286pclose
287pipe
288popen
a0ce9ab7
DN
289random
290read
291realloc
292rename
293rindex
294rmdir
295sbrk
296select
297sigmask
298signal
299sigsetmask
300sleep
301spawnve
302srandom
a0ce9ab7 303strdup
a0ce9ab7
DN
304stricmp
305strnicmp
306strupr
a0ce9ab7
DN
307sys_nerr
308system
309temacs
310tzname
311tzset
312umask
313unix
314unlink
315utimbuf
316utime
317vfork
318wait
319write
320xfree