Rename configure.in to configure.ac.
[emacs.git] / admin / CPP-DEFINES
blob7f647f1abaf0ce8c40f5c6769219375488e32f33
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 DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks on Lisp_Object use.
51 ** System specific macros, described in detail in src/s/template.h
52 CLASH_DETECTION
53 COFF
54 FIRST_PTY_LETTER
55 HAVE_PTYS
56 INTERRUPT_INPUT
57 NARROWPROTO
58 SEPCHAR
59 SYSTEM_TYPE
61 ** Misc macros
62 USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for getting at the full user name.  Only MSDOS overrides the default.
64 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
66 ** Defines from 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/s/*.h.
69 AIX
70 AMPERSAND_FULL_NAME
71 BROKEN_DATAGRAM_SOCKETS
72 BROKEN_FIONREAD
73 BROKEN_GET_CURRENT_DIR_NAME
74 BROKEN_NON_BLOCKING_CONNECT
75 BROKEN_PTY_READ_AFTER_EAGAIN
76 BROKEN_SA_RESTART
77 BROKEN_SIGAIO
78 BROKEN_SIGIO
79 BROKEN_SIGPOLL
80 BROKEN_SIGPTY
81 BSD4_2
82 BSD_SYSTEM
83 CLASH_DETECTION
84 DATA_SEG_BITS
85 DATA_START
86 DBL_MIN_REPLACEMENT
87 DEFAULT_SOUND_DEVICE
88 DEVICE_SEP
89 DIRECTORY_SEP
90 DONT_REOPEN_PTY
91 DOUG_LEA_MALLOC
92 DebPrint
93 EMACSDEBUG
94 EMACS_CONFIGURATION
95 EMACS_CONFIG_OPTIONS
96 EMACS_INT
97 EMACS_UINT
98 FILE_SYSTEM_CASE
99 FLOAT_CHECK_DOMAIN
100 GC_LISP_OBJECT_ALIGNMENT
101 GC_MARK_SECONDARY_STACK
102 GC_MARK_STACK
103 GC_SETJMP_WORKS
104 GMALLOC_INHIBIT_VALLOC
105 GNU_LIBRARY_PENDING_OUTPUT_COUNT
106 GNU_LINUX
107 GNU_MALLOC
108 HAVE_AIX_SMT_EXP
109 HAVE_CBRT
110 HAVE_CLOSEDIR
111 HAVE_DUP2
112 HAVE_EUIDACCESS
113 HAVE_FMOD
114 HAVE_FPATHCONF
115 HAVE_FREXP
116 HAVE_FSYNC
117 HAVE_GETCWD
118 HAVE_GETHOSTNAME
119 HAVE_GETLOADAVG
120 HAVE_GETPAGESIZE
121 HAVE_GETPT
122 HAVE_GETTIMEOFDAY
123 HAVE_GETWD
124 HAVE_H_ERRNO
125 HAVE_INET_SOCKETS
126 HAVE_INVERSE_HYPERBOLIC
127 HAVE_LIBKSTAT
128 HAVE_LIMITS_H
129 HAVE_LINUX_VERSION_H
130 HAVE_LOGB
131 HAVE_LONG_FILE_NAMES
132 HAVE_LRAND48
133 HAVE_MENUS
134 HAVE_MKDIR
135 HAVE_MKTIME
136 HAVE_MOUSE
137 HAVE_PERROR
138 HAVE_PSTAT_GETDYNAMIC
139 HAVE_PWD_H
140 HAVE_RANDOM
141 HAVE_RENAME
142 HAVE_RES_INIT
143 HAVE_RINT
144 HAVE_RMDIR
145 HAVE_SELECT
146 HAVE_SETLOCALE
147 HAVE_SETPGID
148 HAVE_SETRLIMIT
149 HAVE_SETSID
150 HAVE_SHUTDOWN
151 HAVE_SOCKETS
152 HAVE_SOUND
153 HAVE_STDLIB_H
154 HAVE_STRERROR
155 HAVE_STRFTIME
156 HAVE_STRING_H
157 HAVE_STRUCT_UTIMBUF
158 HAVE_SYS_SELECT_H
159 HAVE_SYS_SYSTEMINFO_H
160 HAVE_SYS_TIMEB_H
161 HAVE_SYS_TIME_H
162 HAVE_TCATTR
163 HAVE_TM_ZONE
164 HAVE_TZSET
165 HAVE_UNISTD_H
166 HAVE_UTIME_H
167 HAVE_WINDOW_SYSTEM
168 HAVE_WORKING_VFORK
169 HAVE_XRMSETDATABASE
170 HPUX
171 INTERNAL_TERMINAL
172 IS_ANY_SEP
173 IS_DIRECTORY_SEP
174 LINKER
175 LINUX_VERSION_CODE
176 LNOFLSH
177 LOCALTIME_CACHE
178 MAIL_USE_FLOCK
179 MAIL_USE_LOCKF
180 MAIL_USE_POP
181 MAIL_USE_SYSTEM_LOCK
182 MAXPATHLEN
183 MIN_PTY_KERNEL_VERSION -- only used on Mac
184 MODE_LINE_BINARY_TEXT
185 MUST_UNDEF__STDC__
186 NLIST_STRUCT
187 NO_ABORT
188 NO_EDITRES
189 NO_MATHERR
190 NO_TERMIO
191 NSIG
192 NSIG_MINIMUM
193 NULL_DEVICE
194 ORDINARY_LINK
195 O_APPEND
196 O_RDONLY
197 O_RDWR
198 PAGESIZE
199 PENDING_OUTPUT_COUNT
200 POSIX
201 PREFER_VSUSP
202 PTY_ITERATION
203 PTY_NAME_SPRINTF
204 PTY_OPEN
205 PTY_TTY_NAME_SPRINTF
206 PURESIZE
207 RUN_TIME_REMAP
208 SA_RESTART
209 SEGMENT_MASK
210 SETPGRP_RELEASES_CTTY
211 SETUP_SLAVE_PTY
212 SIGALRM
213 SIGCHLD
214 SIGHUP
215 SIGKILL
216 SIGNALS_VIA_CHARACTERS
217 SIGPIPE
218 SIGQUIT
219 SIGTRAP
220 SOLARIS2
221 STDC_HEADERS
222 SYSTEM_PURESIZE_EXTRA
223 SYSTEM_MALLOC
224 SYSV_SYSTEM_DIR
225 TAB3
226 TABDLY
227 TERM
228 TIME_WITH_SYS_TIME
229 TIOCSIGSEND
230 TM_IN_SYS_TIME
231 ULIMIT_BREAK_VALUE
232 UNIX98_PTYS
233 USE_CRT_DLL
234 USE_TOOLKIT_SCROLL_BARS
236 USG5
237 USG_SUBTTY_WORKS
238 VALBITS
239 WRETCODE
240 XOS_NEEDS_TIME_H
241 _AIX
242 _ARCH_PPC64
243 _FILE_OFFSET_BITS
244 _LP64
245 _MALLOC_INTERNAL
246 _NAIVE_DOS_REGS
247 _VARARGS_
248 _WINSOCKAPI_
249 _WINSOCK_H
250 _longjmp
251 _setjmp
252 _start
253 abort
254 access
255 alloca
257 calloc
258 chdir
259 chmod
260 chown
261 close
262 creat
263 ctime
265 dup2
266 edata
267 emacs
268 etext
269 execlp
270 execvp
271 fdopen
272 fileno
273 fopen
274 free
275 fsync
276 ftruncate
277 fwrite
278 getdefdir
279 getdisk
280 getenv
281 getpid
282 getuid
283 gmtime
284 index
285 isatty
286 kill
287 link
288 linux
289 localtime
290 logb
291 lseek
292 malloc
293 mkdir
294 mktemp
295 open
296 pclose
297 pipe
298 popen
299 random
300 read
301 realloc
302 rename
303 rindex
304 rmdir
305 sbrk
306 select
307 sigmask
308 signal
309 sigsetmask
310 sleep
311 spawnve
312 srandom
313 strdup
314 strerror
315 stricmp
316 strnicmp
317 strupr
318 sys_nerr
319 system
320 temacs
321 tzname
322 tzset
323 umask
324 unix
325 unlink
326 utimbuf
327 utime
328 vfork
329 wait
330 write
331 xfree