* admin/CPP-DEFINES (LIBS_SYSTEM, LIBXMU): Remove.
[bpt/emacs.git] / admin / CPP-DEFINES
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.
3
4 ** Distinguishing OSes **
5
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).
16
17 ** Distinguishing GUIs **
18
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 X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
26 USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
27 USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
28 USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
29
30 ** Frame types **
31
32 FRAME_TERMCAP_P A tty (character terminal) frame.
33 FRAME_X_P A frame on X Window system.
34 FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
35 FRAME_W32_P A frame using native MS-Windows GUI.
36 FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
37
38 ** Support for accessing other processes on the system **
39
40 HAVE_PROCFS The /proc filesystem is supported.
41
42 ** Compile-time options **
43
44 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
45 SYSTEM_MALLOC Use the system library's malloc.
46 subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
47 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
48
49 ** System specific macros, decribed in detail in src/s/template.h
50 BSTRING
51 CLASH_DETECTION
52 COFF
53 FIRST_PTY_LETTER
54 HAVE_PTYS
55 HAVE_TERMIO
56 HAVE_TERMIOS
57 INTERRUPT_INPUT
58 MAIL_USE_FLOCK
59 NARROWPROTO
60 SEPCHAR
61 SIGTYPE
62 SYSTEM_TYPE
63 USE_MMAP_FOR_BUFFERS
64
65 ** Machine specific macros, decribed in detail in src/m/template.h
66 CANNOT_DUMP
67 EXPLICIT_SIGN_EXTEND
68 LOAD_AVE_CVT
69 LOAD_AVE_TYPE
70 NO_REMAP
71 VIRT_ADDR_VARIES
72 WORDS_BIG_ENDIAN
73
74 ** Misc macros
75 USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
76
77 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
78
79 ** 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
81
82 AIX
83 AMPERSAND_FULL_NAME
84 BCOPY_DOWNWARD_SAFE
85 BCOPY_UPWARD_SAFE
86 BITS_PER_EMACS_INT
87 BITS_PER_LONG
88 BROKEN_DATAGRAM_SOCKETS
89 BROKEN_FIONREAD
90 BROKEN_GET_CURRENT_DIR_NAME
91 BROKEN_NON_BLOCKING_CONNECT
92 BROKEN_PTY_READ_AFTER_EAGAIN
93 BROKEN_SA_RESTART
94 BROKEN_SIGAIO
95 BROKEN_SIGIO
96 BROKEN_SIGPOLL
97 BROKEN_SIGPTY
98 BSD4_2
99 BSD4_3
100 BSD_SYSTEM
101 CLASH_DETECTION
102 C_SWITCH_X_SYSTEM
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 END_FILES_1
119 FILE_SYSTEM_CASE
120 FLOAT_CHECK_DOMAIN
121 FSCALE
122 GAP_USE_BCOPY
123 GC_LISP_OBJECT_ALIGNMENT
124 GC_MARK_SECONDARY_STACK
125 GC_MARK_STACK
126 GC_SETJMP_WORKS
127 GMALLOC_INHIBIT_VALLOC
128 GNU_LIBRARY_PENDING_OUTPUT_COUNT
129 GNU_LINUX
130 GNU_MALLOC
131 HAVE_AIX_SMT_EXP
132 HAVE_ALLOCA
133 HAVE_BCMP
134 HAVE_BCOPY
135 HAVE_CBRT
136 HAVE_CLOSEDIR
137 HAVE_CRTIN
138 HAVE_DUP2
139 HAVE_EUIDACCESS
140 HAVE_FMOD
141 HAVE_FPATHCONF
142 HAVE_FREXP
143 HAVE_FSYNC
144 HAVE_FTIME
145 HAVE_GETCWD
146 HAVE_GETDOMAINNAME
147 HAVE_GETHOSTNAME
148 HAVE_GETLOADAVG
149 HAVE_GETPAGESIZE
150 HAVE_GETPT
151 HAVE_GETTIMEOFDAY
152 HAVE_GETWD
153 HAVE_H_ERRNO
154 HAVE_INDEX
155 HAVE_INET_SOCKETS
156 HAVE_INVERSE_HYPERBOLIC
157 HAVE_LIBKSTAT
158 HAVE_LIBNCURSES
159 HAVE_LIBPTHREADS
160 HAVE_LIBXMU
161 HAVE_LIMITS_H
162 HAVE_LINUX_VERSION_H
163 HAVE_LOGB
164 HAVE_LONG_FILE_NAMES
165 HAVE_LRAND48
166 HAVE_MENUS
167 HAVE_MKDIR
168 HAVE_MKTIME
169 HAVE_MOUSE
170 HAVE_PERROR
171 HAVE_PSTAT_GETDYNAMIC
172 HAVE_PWD_H
173 HAVE_RANDOM
174 HAVE_RENAME
175 HAVE_RES_INIT
176 HAVE_RINDEX
177 HAVE_RINT
178 HAVE_RMDIR
179 HAVE_SELECT
180 HAVE_SETLOCALE
181 HAVE_SETPGID
182 HAVE_SETRLIMIT
183 HAVE_SETSID
184 HAVE_SHUTDOWN
185 HAVE_SOCKETS
186 HAVE_SOUND
187 HAVE_STDLIB_H
188 HAVE_STRERROR
189 HAVE_STRFTIME
190 HAVE_STRING_H
191 HAVE_STRUCT_UTIMBUF
192 HAVE_SYSINFO
193 HAVE_SYSV_SIGPAUSE
194 HAVE_SYS_SELECT_H
195 HAVE_SYS_SYSTEMINFO_H
196 HAVE_SYS_TIMEB_H
197 HAVE_SYS_TIME_H
198 HAVE_TCATTR
199 HAVE_TERMIOS_H
200 HAVE_TEXT_START
201 HAVE_TIMEVAL
202 HAVE_TM_ZONE
203 HAVE_TZSET
204 HAVE_UNISTD_H
205 HAVE_UTIMES
206 HAVE_UTIME_H
207 HAVE_VOLATILE
208 HAVE_WINDOW_SYSTEM
209 HAVE_WORKING_VFORK
210 HAVE_XRMSETDATABASE
211 HPUX
212 INHIBIT_X11R6_XIM
213 INTERNAL_TERMINAL
214 IS_ANY_SEP
215 IS_DIRECTORY_SEP
216 KERNEL_FILE
217 LDAV_SYMBOL
218 LINKER
219 LINUX_VERSION_CODE
220 LISP_FLOAT_TYPE
221 LNOFLSH
222 LOCALTIME_CACHE
223 MAIL_USE_LOCKF
224 MAIL_USE_POP
225 MAIL_USE_SYSTEM_LOCK
226 MAXPATHLEN
227 MIN_PTY_KERNEL_VERSION -- only used on Mac
228 MODE_LINE_BINARY_TEXT
229 MUST_UNDEF__STDC__
230 NLIST_STRUCT
231 NOT_C_CODE
232 NO_ABORT
233 NO_EDITRES
234 NO_MATHERR
235 NO_TERMIO
236 NSIG
237 NSIG_MINIMUM
238 NULL
239 NULL_DEVICE
240 ORDINARY_LINK
241 O_APPEND
242 O_RDONLY
243 O_RDWR
244 PAGESIZE
245 PENDING_OUTPUT_COUNT
246 POSIX
247 PREFER_VSUSP
248 PTY_ITERATION
249 PTY_NAME_SPRINTF
250 PTY_OPEN
251 PTY_TTY_NAME_SPRINTF
252 PURESIZE
253 RUN_TIME_REMAP
254 SA_RESTART
255 SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
256 SEGMENT_MASK
257 SETPGRP_RELEASES_CTTY
258 SETUP_SLAVE_PTY
259 SIGALRM
260 SIGCHLD
261 SIGHUP
262 SIGKILL
263 SIGNALS_VIA_CHARACTERS
264 SIGPIPE
265 SIGQUIT
266 SIGTRAP
267 SIGTYPE
268 SOLARIS2
269 START_FILES
270 START_FILES_1
271 STDC_HEADERS
272 SYMS_SYSTEM
273 SYSTEM_PURESIZE_EXTRA
274 SYSTEM_MALLOC
275 SYSV_SYSTEM_DIR
276 TAB3
277 TABDLY
278 TERM
279 TEXT_START
280 THIS_IS_CONFIGURE
281 TIME_WITH_SYS_TIME
282 TIOCSIGSEND
283 TM_IN_SYS_TIME
284 ULIMIT_BREAK_VALUE
285 UNEXEC
286 UNIX98_PTYS
287 USE_CRT_DLL
288 USE_TOOLKIT_SCROLL_BARS
289 USG
290 USG5
291 USG5_4
292 USG_SUBTTY_WORKS
293 VALBITS
294 WORDS_BIG_ENDIAN
295 WRETCODE
296 XINT
297 XOS_NEEDS_TIME_H
298 XPNTR
299 XSET
300 XUINT
301 _AIX
302 _ARCH_PPC64
303 _CALLBACK_
304 _FILE_OFFSET_BITS
305 _LP64
306 _MALLOC_INTERNAL
307 _NAIVE_DOS_REGS
308 _VARARGS_
309 _WINSOCKAPI_
310 _WINSOCK_H
311 __ELF__
312 __FreeBSD__
313 __FreeBSD_version
314 __GNUC__
315 __GNU_LIBRARY__
316 __GNUC_MINOR__
317 __NetBSD__
318 __OpenBSD__
319 __STDC__
320 __arch64__
321 __cplusplus
322 __hpux
323 __ia64__
324 __linux__
325 __mc68000__
326 __mips__
327 _longjmp
328 _setjmp
329 _start
330 abort
331 access
332 alloca
333 bcmp
334 bcopy
335 brk
336 bzero
337 calloc
338 chdir
339 chmod
340 chown
341 close
342 const
343 creat
344 ctime
345 dup
346 dup2
347 edata
348 emacs
349 etext
350 execlp
351 execvp
352 fdopen
353 fileno
354 fopen
355 free
356 fsync
357 ftruncate
358 fwrite
359 getdefdir
360 getdisk
361 getenv
362 getpid
363 getuid
364 gmtime
365 i386
366 index
367 init_process
368 isatty
369 kill
370 link
371 linux
372 localtime
373 logb
374 lseek
375 m68k
376 malloc
377 mkdir
378 mktemp
379 open
380 pclose
381 pipe
382 popen
383 random
384 read
385 realloc
386 rename
387 rindex
388 rmdir
389 sbrk
390 select
391 sigmask
392 signal
393 sigsetmask
394 sleep
395 spawnve
396 srandom
397 strdup
398 strerror
399 stricmp
400 strnicmp
401 strupr
402 sys_nerr
403 system
404 temacs
405 tzname
406 tzset
407 umask
408 unix
409 unlink
410 utimbuf
411 utime
412 vfork
413 wait
414 write
415 xfree
416
417 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250