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