In the Package Menu, indicate packages that are newly-available.
[emacs.git] / admin / CPP-DEFINES
blob738ec0a91a0c02ea0176511db4767160bbd044a9
1 Here are some of the cpp macros used, together with some short explanation
2 of their use.  Feel free to add more macros and more categories.
4 ** Distinguishing OSes **
6 CYGWIN          Compiling the Cygwin port.
7 __CYGWIN__      Ditto
8 MSDOS           Compiling the MS-DOS port.
9 __MSDOS__       Ditto.
10 __DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
11 DOS_NT          Compiling for either the MS-DOS or native MS-Windows port.
12 WINDOWSNT       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.
15 DARWIN_OS       Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
17 ** Distinguishing GUIs **
19 HAVE_NTGUI      Use the native W32 GUI for windows, frames, menus&scrollbars.
20 HAVE_NS         Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
21 NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
22 NS_IMPL_COCOA   Compile support for Cocoa (Apple) implementation of NS GUI API.
23 HAVE_X11        Compile support for the X11 GUI.
24 HAVE_X_WINDOWS  Compile support for X Window system
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.)
28 USE_LUCID       Use the Lucid toolkit for menus&scrollbars.  Requires HAVE_X11.
29 USE_MOTIF       Use the Motif toolkit for menus&scrollbars.  Requires HAVE_X11.
30 USE_GTK         Use the Gtk   toolkit for menus&scrollbars.  Requires HAVE_X11.
32 ** Frame types **
34 FRAME_TERMCAP_P A tty (character terminal) frame.
35 FRAME_X_P       A frame on X Window system.
36 FRAME_MSDOS_P   An MS-DOS frame (used only by the DOS port).
37 FRAME_W32_P     A frame using native MS-Windows GUI.
38 FRAME_WINDOW_P  A GUI frame (like X, w32, etc.)
40 ** Support for accessing other processes on the system **
42 HAVE_PROCFS     The /proc filesystem is supported.
44 ** Compile-time options **
46 REL_ALLOC       Compile in the relocatable memory allocator ralloc.c.
47 SYSTEM_MALLOC   Use the system library's malloc.
48 subprocesses    System can use subprocesses (for M-x shell for example).  Defined by default, only MSDOS undefines it.
49 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
51 ** System specific macros, described in detail in src/s/template.h
52 CLASH_DETECTION
53 COFF
54 FIRST_PTY_LETTER
55 HAVE_PTYS
56 INTERRUPT_INPUT
57 NARROWPROTO
58 SEPCHAR
59 SYSTEM_TYPE
61 ** Misc macros
62 USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for getting at the full user name.  Only MSDOS overrides the default.
64 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
66 ** 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.
69 AIX
70 AMPERSAND_FULL_NAME
71 BROKEN_DATAGRAM_SOCKETS
72 BROKEN_FIONREAD
73 BROKEN_GET_CURRENT_DIR_NAME
74 BROKEN_NON_BLOCKING_CONNECT
75 BROKEN_PTY_READ_AFTER_EAGAIN
76 BROKEN_SA_RESTART
77 BROKEN_SIGAIO
78 BROKEN_SIGIO
79 BROKEN_SIGPOLL
80 BROKEN_SIGPTY
81 BSD4_2
82 BSD4_3
83 BSD_SYSTEM
84 CLASH_DETECTION
85 DATA_SEG_BITS
86 DATA_START
87 DBL_MIN_REPLACEMENT
88 DEFAULT_SOUND_DEVICE
89 DEVICE_SEP
90 DIRECTORY_SEP
91 DONT_REOPEN_PTY
92 DOUG_LEA_MALLOC
93 DebPrint
94 EMACSDEBUG
95 EMACS_CONFIGURATION
96 EMACS_CONFIG_OPTIONS
97 EMACS_INT
98 EMACS_UINT
99 FILE_SYSTEM_CASE
100 FLOAT_CHECK_DOMAIN
101 GC_LISP_OBJECT_ALIGNMENT
102 GC_MARK_SECONDARY_STACK
103 GC_MARK_STACK
104 GC_SETJMP_WORKS
105 GMALLOC_INHIBIT_VALLOC
106 GNU_LIBRARY_PENDING_OUTPUT_COUNT
107 GNU_LINUX
108 GNU_MALLOC
109 HAVE_AIX_SMT_EXP
110 HAVE_CBRT
111 HAVE_CLOSEDIR
112 HAVE_DUP2
113 HAVE_EUIDACCESS
114 HAVE_FMOD
115 HAVE_FPATHCONF
116 HAVE_FREXP
117 HAVE_FSYNC
118 HAVE_GETCWD
119 HAVE_GETHOSTNAME
120 HAVE_GETLOADAVG
121 HAVE_GETPAGESIZE
122 HAVE_GETPT
123 HAVE_GETTIMEOFDAY
124 HAVE_GETWD
125 HAVE_H_ERRNO
126 HAVE_INET_SOCKETS
127 HAVE_INVERSE_HYPERBOLIC
128 HAVE_LIBKSTAT
129 HAVE_LIMITS_H
130 HAVE_LINUX_VERSION_H
131 HAVE_LOGB
132 HAVE_LONG_FILE_NAMES
133 HAVE_LRAND48
134 HAVE_MENUS
135 HAVE_MKDIR
136 HAVE_MKTIME
137 HAVE_MOUSE
138 HAVE_PERROR
139 HAVE_PSTAT_GETDYNAMIC
140 HAVE_PWD_H
141 HAVE_RANDOM
142 HAVE_RENAME
143 HAVE_RES_INIT
144 HAVE_RINT
145 HAVE_RMDIR
146 HAVE_SELECT
147 HAVE_SETLOCALE
148 HAVE_SETPGID
149 HAVE_SETRLIMIT
150 HAVE_SETSID
151 HAVE_SHUTDOWN
152 HAVE_SOCKETS
153 HAVE_SOUND
154 HAVE_STDLIB_H
155 HAVE_STRERROR
156 HAVE_STRFTIME
157 HAVE_STRING_H
158 HAVE_STRUCT_UTIMBUF
159 HAVE_SYS_SELECT_H
160 HAVE_SYS_SYSTEMINFO_H
161 HAVE_SYS_TIMEB_H
162 HAVE_SYS_TIME_H
163 HAVE_TCATTR
164 HAVE_TIMEVAL
165 HAVE_TM_ZONE
166 HAVE_TZSET
167 HAVE_UNISTD_H
168 HAVE_UTIMES
169 HAVE_UTIME_H
170 HAVE_WINDOW_SYSTEM
171 HAVE_WORKING_VFORK
172 HAVE_XRMSETDATABASE
173 HPUX
174 INTERNAL_TERMINAL
175 IS_ANY_SEP
176 IS_DIRECTORY_SEP
177 LINKER
178 LINUX_VERSION_CODE
179 LISP_FLOAT_TYPE
180 LNOFLSH
181 LOCALTIME_CACHE
182 MAIL_USE_FLOCK
183 MAIL_USE_LOCKF
184 MAIL_USE_POP
185 MAIL_USE_SYSTEM_LOCK
186 MAXPATHLEN
187 MIN_PTY_KERNEL_VERSION -- only used on Mac
188 MODE_LINE_BINARY_TEXT
189 MUST_UNDEF__STDC__
190 NLIST_STRUCT
191 NO_ABORT
192 NO_EDITRES
193 NO_MATHERR
194 NO_TERMIO
195 NSIG
196 NSIG_MINIMUM
197 NULL_DEVICE
198 ORDINARY_LINK
199 O_APPEND
200 O_RDONLY
201 O_RDWR
202 PAGESIZE
203 PENDING_OUTPUT_COUNT
204 POSIX
205 PREFER_VSUSP
206 PTY_ITERATION
207 PTY_NAME_SPRINTF
208 PTY_OPEN
209 PTY_TTY_NAME_SPRINTF
210 PURESIZE
211 RUN_TIME_REMAP
212 SA_RESTART
213 SEGMENT_MASK
214 SETPGRP_RELEASES_CTTY
215 SETUP_SLAVE_PTY
216 SIGALRM
217 SIGCHLD
218 SIGHUP
219 SIGKILL
220 SIGNALS_VIA_CHARACTERS
221 SIGPIPE
222 SIGQUIT
223 SIGTRAP
224 SOLARIS2
225 STDC_HEADERS
226 SYSTEM_PURESIZE_EXTRA
227 SYSTEM_MALLOC
228 SYSV_SYSTEM_DIR
229 TAB3
230 TABDLY
231 TERM
232 TIME_WITH_SYS_TIME
233 TIOCSIGSEND
234 TM_IN_SYS_TIME
235 ULIMIT_BREAK_VALUE
236 UNIX98_PTYS
237 USE_CRT_DLL
238 USE_TOOLKIT_SCROLL_BARS
240 USG5
241 USG5_4
242 USG_SUBTTY_WORKS
243 VALBITS
244 WRETCODE
245 XOS_NEEDS_TIME_H
246 _AIX
247 _ARCH_PPC64
248 _FILE_OFFSET_BITS
249 _LP64
250 _MALLOC_INTERNAL
251 _NAIVE_DOS_REGS
252 _VARARGS_
253 _WINSOCKAPI_
254 _WINSOCK_H
255 _longjmp
256 _setjmp
257 _start
258 abort
259 access
260 alloca
262 calloc
263 chdir
264 chmod
265 chown
266 close
267 creat
268 ctime
270 dup2
271 edata
272 emacs
273 etext
274 execlp
275 execvp
276 fdopen
277 fileno
278 fopen
279 free
280 fsync
281 ftruncate
282 fwrite
283 getdefdir
284 getdisk
285 getenv
286 getpid
287 getuid
288 gmtime
289 index
290 isatty
291 kill
292 link
293 linux
294 localtime
295 logb
296 lseek
297 malloc
298 mkdir
299 mktemp
300 open
301 pclose
302 pipe
303 popen
304 random
305 read
306 realloc
307 rename
308 rindex
309 rmdir
310 sbrk
311 select
312 sigmask
313 signal
314 sigsetmask
315 sleep
316 spawnve
317 srandom
318 strdup
319 strerror
320 stricmp
321 strnicmp
322 strupr
323 sys_nerr
324 system
325 temacs
326 tzname
327 tzset
328 umask
329 unix
330 unlink
331 utimbuf
332 utime
333 vfork
334 wait
335 write
336 xfree