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