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