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