configure: Regenerate
[emacs.git] / admin / CPP-DEFINES
blob9e656c39aa16d94cfa5f49e63c09cad20ad3c49c
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__       Major version number of the DJGPP library for the DOS port.
11 __DJGPP_MINOR__ Minor version number of the DJGPP library.
12 __GO32__        Compiling the DOS port with DJGPP v1.x (obsolete).
13 DOS_NT          Compiling for either the MS-DOS or native MS-Windows port.
14 WINDOWSNT       Compiling the native MS-Windows (W32) port.
15 __MINGW32__     Compiling the W32 port with the MinGW port of GCC.
16 _MSC_VER        Compiling the W32 port with the Microsoft C compiler.
17 DARWIN_OS       Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
19 ** Distinguishing GUIs **
21 HAVE_NTGUI      Use the native W32 GUI for windows, frames, menus&scrollbars.
22 HAVE_NS         Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
23 NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
24 NS_IMPL_COCOA   Compile support for Cocoa (Apple) implementation of NS GUI API.
25 HAVE_X11        Compile support for the X11 GUI.
26 HAVE_X_WINDOWS  Compile support for X Window system
27 X11             ??  Makefile.in suggests it's equivalent to HAVE_X11
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 BSTRING
53 CLASH_DETECTION
54 COFF
55 FIRST_PTY_LETTER
56 HAVE_PTYS
57 HAVE_TERMIO
58 HAVE_TERMIOS
59 INTERRUPT_INPUT
60 MAIL_USE_FLOCK
61 NARROWPROTO
62 NOMULTIPLEJOBS
63 SEPCHAR
64 SIGTYPE
65 SYSTEM_TYPE
66 USE_MMAP_FOR_BUFFERS
68 ** Machine specific macros, decribed in detail in src/m/template.h
69 CANNOT_DUMP
70 EXPLICIT_SIGN_EXTEND
71 LOAD_AVE_CVT
72 LOAD_AVE_TYPE
73 NO_ARG_ARRAY
74 NO_REMAP
75 VIRT_ADDR_VARIES
76 WORDS_BIG_ENDIAN
78 ** Not used anymore by any port, can be cleaned up
79 NO_SOCK_SIGIO
81 ** Misc macros
82 USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for getting at the full user name.  Only MSDOS overrides the default.
84 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
86 ** 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.
89 AIX
90 AMPERSAND_FULL_NAME
91 BCOPY_DOWNWARD_SAFE
92 BCOPY_UPWARD_SAFE
93 BITS_PER_EMACS_INT
94 BITS_PER_LONG
95 BROKEN_DATAGRAM_SOCKETS
96 BROKEN_FIONREAD
97 BROKEN_GET_CURRENT_DIR_NAME
98 BROKEN_NON_BLOCKING_CONNECT
99 BROKEN_PTY_READ_AFTER_EAGAIN
100 BROKEN_SA_RESTART
101 BROKEN_SIGAIO
102 BROKEN_SIGIO
103 BROKEN_SIGPOLL
104 BROKEN_SIGPTY
105 BSD4_2
106 BSD4_3
107 BSD_PGRPS
108 BSD_SYSTEM
109 CLASH_DETECTION
110 COFF_BSD_SYMBOLS
111 CRT0_DUMMIES
112 C_DEBUG_SWITCH
113 C_SWITCH_MACHINE
114 C_SWITCH_SYSTEM
115 C_SWITCH_SYSTEM_TEMACS
116 C_SWITCH_X_SYSTEM
117 DATA_SEG_BITS
118 DATA_START
119 DBL_MIN_REPLACEMENT
120 DECLARE_GETPWUID_WITH_UID_T
121 DEFAULT_SOUND_DEVICE
122 DEVICE_SEP
123 DIRECTORY_SEP
124 DONT_REOPEN_PTY
125 DOUG_LEA_MALLOC
126 DebPrint
127 EMACSDEBUG
128 EMACS_CONFIGURATION
129 EMACS_CONFIG_OPTIONS
130 EMACS_INT
131 EMACS_UINT
132 END_FILES_1
133 FILE_SYSTEM_CASE
134 FLOAT_CHECK_DOMAIN
135 FSCALE
136 GAP_USE_BCOPY
137 GC_LISP_OBJECT_ALIGNMENT
138 GC_MARK_SECONDARY_STACK
139 GC_MARK_STACK
140 GC_SETJMP_WORKS
141 GMALLOC_INHIBIT_VALLOC
142 GNU_LIBRARY_PENDING_OUTPUT_COUNT
143 GNU_LINUX
144 GNU_MALLOC
145 HAVE_AIX_SMT_EXP
146 HAVE_ALLOCA
147 HAVE_BCMP
148 HAVE_BCOPY
149 HAVE_CBRT
150 HAVE_CLOSEDIR
151 HAVE_CRTIN
152 HAVE_DUP2
153 HAVE_EUIDACCESS
154 HAVE_FMOD
155 HAVE_FPATHCONF
156 HAVE_FREXP
157 HAVE_FSYNC
158 HAVE_FTIME
159 HAVE_GETCWD
160 HAVE_GETDOMAINNAME
161 HAVE_GETHOSTNAME
162 HAVE_GETLOADAVG
163 HAVE_GETPAGESIZE
164 HAVE_GETPT
165 HAVE_GETTIMEOFDAY
166 HAVE_GETWD
167 HAVE_H_ERRNO
168 HAVE_INDEX
169 HAVE_INET_SOCKETS
170 HAVE_INVERSE_HYPERBOLIC
171 HAVE_LIB64_DIR
172 HAVE_LIBKSTAT
173 HAVE_LIBNCURSES
174 HAVE_LIBPTHREADS
175 HAVE_LIBXMU
176 HAVE_LIMITS_H
177 HAVE_LINUX_VERSION_H
178 HAVE_LOGB
179 HAVE_LONG_FILE_NAMES
180 HAVE_LRAND48
181 HAVE_MENUS
182 HAVE_MKDIR
183 HAVE_MKTIME
184 HAVE_MOUSE
185 HAVE_PERROR
186 HAVE_PSTAT_GETDYNAMIC
187 HAVE_PWD_H
188 HAVE_RANDOM
189 HAVE_RENAME
190 HAVE_RES_INIT
191 HAVE_RINDEX
192 HAVE_RINT
193 HAVE_RMDIR
194 HAVE_SELECT
195 HAVE_SETLOCALE
196 HAVE_SETPGID
197 HAVE_SETRLIMIT
198 HAVE_SETSID
199 HAVE_SHUTDOWN
200 HAVE_SOCKETS
201 HAVE_SOUND
202 HAVE_STDLIB_H
203 HAVE_STRERROR
204 HAVE_STRFTIME
205 HAVE_STRING_H
206 HAVE_STRUCT_UTIMBUF
207 HAVE_SYSINFO
208 HAVE_SYSV_SIGPAUSE
209 HAVE_SYS_SELECT_H
210 HAVE_SYS_SYSTEMINFO_H
211 HAVE_SYS_TIMEB_H
212 HAVE_SYS_TIME_H
213 HAVE_TCATTR
214 HAVE_TERMIOS_H
215 HAVE_TEXT_START
216 HAVE_TIMEVAL
217 HAVE_TM_ZONE
218 HAVE_TZSET
219 HAVE_UNISTD_H
220 HAVE_UTIMES
221 HAVE_UTIME_H
222 HAVE_VOLATILE
223 HAVE_WINDOW_SYSTEM
224 HAVE_WORKING_VFORK
225 HAVE_XRMSETDATABASE
226 HPUX
227 IBMR2AIX
228 INHIBIT_X11R6_XIM
229 INTERNAL_TERMINAL
230 IS_ANY_SEP
231 IS_DIRECTORY_SEP
232 KERNEL_FILE
233 LDAV_SYMBOL
234 LD_SWITCH_MACHINE
235 LD_SWITCH_MACHINE_TEMACS
236 LD_SWITCH_SYSTEM
237 LD_SWITCH_SYSTEM_TEMACS
238 LD_SWITCH_SYSTEM_tmp
239 LD_SWITCH_X_DEFAULT
240 LIBS_DEBUG
241 LIBS_MACHINE
242 LIBS_SYSTEM
243 LIBS_TERMCAP
244 LIBX11_SYSTEM
245 LIBXMU
246 LIB_GCC
247 LIB_MATH
248 LIB_MOTIF
249 LIB_STANDARD
250 LINKER
251 LINUX_VERSION_CODE
252 LISP_FLOAT_TYPE
253 LNOFLSH
254 LOCALTIME_CACHE
255 MAIL_USE_LOCKF
256 MAIL_USE_POP
257 MAIL_USE_SYSTEM_LOCK
258 MAXPATHLEN
259 MIN_PTY_KERNEL_VERSION -- only used on Mac
260 MODE_LINE_BINARY_TEXT
261 MUST_UNDEF__STDC__
262 NEED_BSDTTY
263 NEED_ERRNO
264 NEED_LIBW
265 NEED_UNISTD_H
266 NLIST_STRUCT
267 NOT_C_CODE
268 NOT_USING_MOTIF
269 NO_ABORT
270 NO_DIR_LIBRARY
271 NO_EDITRES
272 NO_MATHERR
273 NO_SHARED_LIBS
274 NO_TERMIO
275 NSIG
276 NSIG_MINIMUM
277 NULL
278 NULL_DEVICE
279 ORDINARY_LINK
280 OTHER_FILES
281 O_APPEND
282 O_BINARY
283 O_CREAT
284 O_EXCL
285 O_RDONLY
286 O_RDWR
287 O_TEXT
288 O_TRUNC
289 O_WRONLY
290 PAGESIZE
291 PENDING_OUTPUT_COUNT
292 POSIX
293 POSIX_SIGNALS
294 PREFER_VSUSP
295 PTY_ITERATION
296 PTY_NAME_SPRINTF
297 PTY_OPEN
298 PTY_TTY_NAME_SPRINTF
299 PURESIZE
300 RUN_TIME_REMAP
301 SA_RESTART
302 SECTION_ALIGNMENT
303 SEGMENT_MASK
304 SETPGRP_RELEASES_CTTY
305 SETUP_SLAVE_PTY
306 SIGALRM
307 SIGCHLD
308 SIGHUP
309 SIGKILL
310 SIGNALS_VIA_CHARACTERS
311 SIGPIPE
312 SIGQUIT
313 SIGTRAP
314 SIGTYPE
315 SOLARIS2
316 START_FILES
317 START_FILES_1
318 STDC_HEADERS
319 SYMS_SYSTEM
320 SYSTEM_PURESIZE_EXTRA
321 SYSTEM_MALLOC
322 SYSV_SYSTEM_DIR
323 Srandom
324 TAB3
325 TABDLY
326 TERM
327 TERMINFO
328 TEXT_START
329 THIS_IS_CONFIGURE
330 THIS_IS_MAKEFILE
331 TIME_WITH_SYS_TIME
332 TIOCSIGSEND
333 TM_IN_SYS_TIME
334 ULIMIT_BREAK_VALUE
335 UNEXEC
336 UNIX98_PTYS
337 USE_CRT_DLL
338 USE_MAC_IMAGE_IO
339 USE_TOOLKIT_SCROLL_BARS
341 USG5
342 USG5_4
343 USG_SUBTTY_WORKS
344 VALBITS
345 WORDS_BIG_ENDIAN
346 WRETCODE
347 XINT
348 XOS_NEEDS_TIME_H
349 XPNTR
350 XSET
351 XUINT
352 _AIX
353 _ARCH_PPC64
354 _CALLBACK_
355 _FILE_OFFSET_BITS
356 _LP64
357 _MALLOC_INTERNAL
358 _NAIVE_DOS_REGS
359 _VARARGS_
360 _WINSOCKAPI_
361 _WINSOCK_H
362 __ELF__
363 __FreeBSD__
364 __FreeBSD_version
365 __GNUC__
366 __GNU_LIBRARY__
367 __GNUC_MINOR__
368 __NetBSD__
369 __OpenBSD__
370 __STDC__
371 __arch64__
372 __cplusplus
373 __hpux
374 __ia64__
375 __linux__
376 __mc68000__
377 __mips__
378 _longjmp
379 _setjmp
380 _start
381 abort
382 access
383 alloca
384 bcmp
385 bcopy
387 bzero
388 calloc
389 chdir
390 chmod
391 chown
392 close
393 const
394 creat
395 ctime
397 dup2
398 edata
399 emacs
400 etext
401 execlp
402 execvp
403 fdopen
404 fileno
405 fopen
406 free
407 fsync
408 ftruncate
409 fwrite
410 getdefdir
411 getdisk
412 getenv
413 getpid
414 getuid
415 gmtime
416 i386
417 index
418 init_process
419 isatty
420 kill
421 link
422 linux
423 localtime
424 logb
425 lseek
426 m68k
427 malloc
428 mkdir
429 mktemp
430 open
431 pclose
432 pipe
433 popen
434 random
435 read
436 realloc
437 rename
438 rindex
439 rmdir
440 sbrk
441 select
442 sigmask
443 signal
444 sigsetmask
445 sleep
446 spawnve
447 srandom
448 strdup
449 strerror
450 stricmp
451 strnicmp
452 strupr
453 sys_nerr
454 system
455 temacs
456 tzname
457 tzset
458 umask
459 unix
460 unlink
461 utimbuf
462 utime
463 vfork
464 wait
465 write
466 xfree
468 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250