Move LD_SWITCH_SYSTEM from cpp to configure.
[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 LIBS_SYSTEM
219 LIBS_TERMCAP
220 LIBXMU
221 LINKER
222 LINUX_VERSION_CODE
223 LISP_FLOAT_TYPE
224 LNOFLSH
225 LOCALTIME_CACHE
226 MAIL_USE_LOCKF
227 MAIL_USE_POP
228 MAIL_USE_SYSTEM_LOCK
229 MAXPATHLEN
230 MIN_PTY_KERNEL_VERSION -- only used on Mac
231 MODE_LINE_BINARY_TEXT
232 MUST_UNDEF__STDC__
233 NLIST_STRUCT
234 NOT_C_CODE
235 NO_ABORT
236 NO_EDITRES
237 NO_MATHERR
238 NO_TERMIO
239 NSIG
240 NSIG_MINIMUM
241 NULL
242 NULL_DEVICE
243 ORDINARY_LINK
244 O_APPEND
245 O_RDONLY
246 O_RDWR
247 PAGESIZE
248 PENDING_OUTPUT_COUNT
249 POSIX
250 PREFER_VSUSP
251 PTY_ITERATION
252 PTY_NAME_SPRINTF
253 PTY_OPEN
254 PTY_TTY_NAME_SPRINTF
255 PURESIZE
256 RUN_TIME_REMAP
257 SA_RESTART
258 SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
259 SEGMENT_MASK
260 SETPGRP_RELEASES_CTTY
261 SETUP_SLAVE_PTY
262 SIGALRM
263 SIGCHLD
264 SIGHUP
265 SIGKILL
266 SIGNALS_VIA_CHARACTERS
267 SIGPIPE
268 SIGQUIT
269 SIGTRAP
270 SIGTYPE
271 SOLARIS2
272 START_FILES
273 START_FILES_1
274 STDC_HEADERS
275 SYMS_SYSTEM
276 SYSTEM_PURESIZE_EXTRA
277 SYSTEM_MALLOC
278 SYSV_SYSTEM_DIR
279 TAB3
280 TABDLY
281 TERM
282 TERMINFO
283 TEXT_START
284 THIS_IS_CONFIGURE
285 THIS_IS_MAKEFILE
286 TIME_WITH_SYS_TIME
287 TIOCSIGSEND
288 TM_IN_SYS_TIME
289 ULIMIT_BREAK_VALUE
290 UNEXEC
291 UNIX98_PTYS
292 USE_CRT_DLL
293 USE_TOOLKIT_SCROLL_BARS
294 USG
295 USG5
296 USG5_4
297 USG_SUBTTY_WORKS
298 VALBITS
299 WORDS_BIG_ENDIAN
300 WRETCODE
301 XINT
302 XOS_NEEDS_TIME_H
303 XPNTR
304 XSET
305 XUINT
306 _AIX
307 _ARCH_PPC64
308 _CALLBACK_
309 _FILE_OFFSET_BITS
310 _LP64
311 _MALLOC_INTERNAL
312 _NAIVE_DOS_REGS
313 _VARARGS_
314 _WINSOCKAPI_
315 _WINSOCK_H
316 __ELF__
317 __FreeBSD__
318 __FreeBSD_version
319 __GNUC__
320 __GNU_LIBRARY__
321 __GNUC_MINOR__
322 __NetBSD__
323 __OpenBSD__
324 __STDC__
325 __arch64__
326 __cplusplus
327 __hpux
328 __ia64__
329 __linux__
330 __mc68000__
331 __mips__
332 _longjmp
333 _setjmp
334 _start
335 abort
336 access
337 alloca
338 bcmp
339 bcopy
340 brk
341 bzero
342 calloc
343 chdir
344 chmod
345 chown
346 close
347 const
348 creat
349 ctime
350 dup
351 dup2
352 edata
353 emacs
354 etext
355 execlp
356 execvp
357 fdopen
358 fileno
359 fopen
360 free
361 fsync
362 ftruncate
363 fwrite
364 getdefdir
365 getdisk
366 getenv
367 getpid
368 getuid
369 gmtime
370 i386
371 index
372 init_process
373 isatty
374 kill
375 link
376 linux
377 localtime
378 logb
379 lseek
380 m68k
381 malloc
382 mkdir
383 mktemp
384 open
385 pclose
386 pipe
387 popen
388 random
389 read
390 realloc
391 rename
392 rindex
393 rmdir
394 sbrk
395 select
396 sigmask
397 signal
398 sigsetmask
399 sleep
400 spawnve
401 srandom
402 strdup
403 strerror
404 stricmp
405 strnicmp
406 strupr
407 sys_nerr
408 system
409 temacs
410 tzname
411 tzset
412 umask
413 unix
414 unlink
415 utimbuf
416 utime
417 vfork
418 wait
419 write
420 xfree
421
422 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250