Remove HAVE_MOUSE; see https://lists.gnu.org/archive/html/emacs-devel/2012-10/msg0040...
[bpt/emacs.git] / admin / CPP-DEFINES
... / ...
CommitLineData
1Here are some of the cpp macros used, together with some short explanation
2of their use. Feel free to add more macros and more categories.
3Most of these are from config.in, so it's probably better to put the
4explanations in that file. Ideally, everything would be defined and
5documented in config.in, and this file would not be necessary.
6
7
8** Distinguishing OSes **
9
10AIX
11_AIX
12BSD4_2
13BSD_SYSTEM
14CYGWIN Compiling the Cygwin port.
15__CYGWIN__ Ditto
16GNU_LINUX
17HPUX
18IRIX6_5
19MSDOS Compiling the MS-DOS port.
20__MSDOS__ Ditto.
21__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
22DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
23WINDOWSNT Compiling the native MS-Windows (W32) port.
24__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
25_MSC_VER Compiling the W32 port with the Microsoft C compiler.
26DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
27SOLARIS2
28USG
29USG5
30USG5_4
31
32** Distinguishing GUIs **
33
34HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
35HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
36NS_IMPL_GNUSTEP Compile support for GNUstep implementation of NS GUI API.
37NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
38HAVE_X11 Compile support for the X11 GUI.
39HAVE_X_WINDOWS Compile support for X Window system
40 (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
41 be, and vice versa. At least, this is true for configure, and
42 msdos; not sure about nt.)
43HAVE_X11R6
44HAVE_X11R6_XIM
45HAVE_X11XTR6
46USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
47USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
48USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
49
50** Frame types **
51
52FRAME_TERMCAP_P A tty (character terminal) frame.
53FRAME_X_P A frame on X Window system.
54FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
55FRAME_W32_P A frame using native MS-Windows GUI.
56FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
57
58** Support for accessing other processes on the system **
59
60HAVE_PROCFS The /proc filesystem is supported.
61
62** Compile-time options **
63
64REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
65SYSTEM_MALLOC Use the system library's malloc.
66subprocesses System can use subprocesses (for M-x shell for example).
67 Defined by default, only MSDOS undefines it.
68DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks
69 on Lisp_Object use.
70
71** System specific macros
72FIRST_PTY_LETTER
73HAVE_PTYS
74INTERRUPT_INPUT
75NARROWPROTO
76SEPCHAR
77SYSTEM_TYPE
78
79** Misc macros
80USER_FULL_NAME If defined, overrides the default pw->pw_gecos for
81getting at the full user name. Only MSDOS overrides the default.
82
83** Miscellaneous defines. Some of these might not be used in the code
84anymore, so they can be removed.
85
86AMPERSAND_FULL_NAME
87BROKEN_DATAGRAM_SOCKETS
88BROKEN_FIONREAD
89BROKEN_GET_CURRENT_DIR_NAME
90BROKEN_NON_BLOCKING_CONNECT
91BROKEN_PTY_READ_AFTER_EAGAIN
92CLASH_DETECTION
93DATA_SEG_BITS
94DATA_START
95DEFAULT_SOUND_DEVICE
96DEVICE_SEP
97DIRECTORY_SEP
98DONT_REOPEN_PTY
99DOUG_LEA_MALLOC
100EMACS_CONFIGURATION
101EMACS_CONFIG_OPTIONS
102EMACS_INT
103EMACS_UINT
104GC_MARK_SECONDARY_STACK
105GC_MARK_STACK
106GC_SETJMP_WORKS
107GNU_MALLOC
108HAVE_AIX_SMT_EXP
109HAVE_ALARM
110HAVE_ALLOCA
111HAVE_ALLOCA_H
112HAVE_ALSA
113HAVE_ATTRIBUTE_ALIGNED
114HAVE_BDFFONT
115HAVE_BOXES
116HAVE_C99_STRTOLD
117HAVE_CFMAKERAW
118HAVE_CFSETSPEED
119HAVE_CLOCK_GETTIME
120HAVE_CLOCK_SETTIME
121HAVE_COFF_H
122HAVE_COM_ERR_H
123HAVE_COPYSIGN
124HAVE_DBUS
125HAVE_DBUS_TYPE_IS_VALID
126HAVE_DBUS_VALIDATE_BUS_NAME
127HAVE_DBUS_VALIDATE_INTERFACE
128HAVE_DBUS_VALIDATE_MEMBER
129HAVE_DBUS_VALIDATE_PATH
130HAVE_DBUS_WATCH_GET_UNIX_FD
131HAVE_DECL_GETENV
132HAVE_DECL_LOCALTIME_R
133HAVE_DECL_STRMODE
134HAVE_DECL_STRTOIMAX
135HAVE_DECL_STRTOLL
136HAVE_DECL_STRTOULL
137HAVE_DECL_STRTOUMAX
138HAVE_DECL_SYS_SIGLIST
139HAVE_DECL_TZNAME
140HAVE_DECL___SYS_SIGLIST
141HAVE_DES_H
142HAVE_DEV_PTMX
143HAVE_DIALOGS
144HAVE_DIFFTIME
145HAVE_DUP2
146HAVE_ENDGRENT
147HAVE_ENDPWENT
148HAVE_ENVIRON_DECL
149HAVE_EUIDACCESS
150HAVE_FORK
151HAVE_FREEIFADDRS
152HAVE_FREETYPE
153HAVE_FSEEKO
154HAVE_FSYNC
155HAVE_FUTIMENS
156HAVE_FUTIMES
157HAVE_FUTIMESAT
158HAVE_GAI_STRERROR
159HAVE_GCONF
160HAVE_GETADDRINFO
161HAVE_GETDELIM
162HAVE_GETGRENT
163HAVE_GETHOSTNAME
164HAVE_GETIFADDRS
165HAVE_GETLINE
166HAVE_GETLOADAVG
167HAVE_GETOPT_H
168HAVE_GETOPT_LONG_ONLY
169HAVE_GETPAGESIZE
170HAVE_GETPEERNAME
171HAVE_GETPT
172HAVE_GETPWENT
173HAVE_GETRLIMIT
174HAVE_GETRUSAGE
175HAVE_GETSOCKNAME
176HAVE_GETTIMEOFDAY
177HAVE_GET_CURRENT_DIR_NAME
178HAVE_GHOSTSCRIPT
179HAVE_GIF
180HAVE_GNUTLS
181HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY
182HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
183HAVE_GPM
184HAVE_GRANTPT
185HAVE_GSETTINGS
186HAVE_GTK3
187HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
188HAVE_GTK_DIALOG_GET_ACTION_AREA
189HAVE_GTK_FILE_SELECTION_NEW
190HAVE_GTK_MAIN
191HAVE_GTK_MULTIDISPLAY
192HAVE_GTK_ORIENTABLE_SET_ORIENTATION
193HAVE_GTK_WIDGET_GET_MAPPED
194HAVE_GTK_WIDGET_GET_SENSITIVE
195HAVE_GTK_WIDGET_GET_WINDOW
196HAVE_GTK_WIDGET_SET_HAS_WINDOW
197HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
198HAVE_G_TYPE_INIT
199HAVE_H_ERRNO
200HAVE_IFADDRS_H
201HAVE_IMAGEMAGICK
202HAVE_INET_SOCKETS
203HAVE_INTTYPES_H
204HAVE_JPEG
205HAVE_KERBEROSIV_DES_H
206HAVE_KERBEROSIV_KRB_H
207HAVE_KERBEROS_DES_H
208HAVE_KERBEROS_KRB_H
209HAVE_KRB5_ERROR_E_TEXT
210HAVE_KRB5_ERROR_TEXT
211HAVE_KRB5_H
212HAVE_KRB_H
213HAVE_LANGINFO_CODESET
214HAVE_LIBCOM_ERR
215HAVE_LIBCRYPTO
216HAVE_LIBDES
217HAVE_LIBDES425
218HAVE_LIBDGC
219HAVE_LIBDNET
220HAVE_LIBHESIOD
221HAVE_LIBK5CRYPTO
222HAVE_LIBKRB
223HAVE_LIBKRB4
224HAVE_LIBKRB5
225HAVE_LIBKSTAT
226HAVE_LIBLOCKFILE
227HAVE_LIBM
228HAVE_LIBMAIL
229HAVE_LIBOTF
230HAVE_LIBPERFSTAT
231HAVE_LIBPNG_PNG_H
232HAVE_LIBPTHREADS
233HAVE_LIBRESOLV
234HAVE_LIBSELINUX
235HAVE_LIBXEXT
236HAVE_LIBXML2
237HAVE_LIBXMU
238HAVE_LINUX_VERSION_H
239HAVE_LOCALTIME_R
240HAVE_LOCAL_SOCKETS
241HAVE_LONG_FILE_NAMES
242HAVE_LONG_LONG_INT
243HAVE_LRAND48
244HAVE_LSTAT
245HAVE_LUTIMES
246HAVE_M17N_FLT
247HAVE_MACHINE_SOUNDCARD_H
248HAVE_MACH_MACH_H
249HAVE_MAGICKEXPORTIMAGEPIXELS
250HAVE_MAGICKMERGEIMAGELAYERS
251HAVE_MAILLOCK_H
252HAVE_MALLOC_MALLOC_H
253HAVE_MATHERR
254HAVE_MBSTATE_T
255HAVE_MEMCMP
256HAVE_MEMMOVE
257HAVE_MEMORY_H
258HAVE_MEMSET
259HAVE_MENUS
260HAVE_MKSTEMP
261HAVE_MMAP
262HAVE_MULTILINGUAL_MENU
263HAVE_NANOTIME
264HAVE_NET_IF_DL_H
265HAVE_NET_IF_H
266HAVE_NLIST_H
267HAVE_OTF_GET_VARIATION_GLYPHS
268HAVE_PERSONALITY_LINUX32
269HAVE_PNG
270HAVE_PNG_H
271HAVE_POSIX_MEMALIGN
272HAVE_PROCFS
273HAVE_PSELECT
274HAVE_PSTAT_GETDYNAMIC
275HAVE_PTHREAD
276HAVE_PTHREAD_H
277HAVE_PTHREAD_SIGMASK
278HAVE_PTYS
279HAVE_PTY_H
280HAVE_PWD_H
281HAVE_RANDOM
282HAVE_READLINK
283HAVE_READLINKAT
284HAVE_RECVFROM
285HAVE_RES_INIT
286HAVE_RINT
287HAVE_RSVG
288HAVE_SELECT
289HAVE_SENDTO
290HAVE_SEQPACKET
291HAVE_SETITIMER
292HAVE_SETLOCALE
293HAVE_SETRLIMIT
294HAVE_SHARED_GAME_DIR
295HAVE_SHUTDOWN
296HAVE_SIGNED_${GLTYPE}
297HAVE_SIGNED_SIG_ATOMIC_T
298HAVE_SIGNED_WCHAR_T
299HAVE_SIGNED_WINT_T
300HAVE_SIGSET_T
301HAVE_SNPRINTF
302HAVE_SOCKETS
303HAVE_SOUND
304HAVE_SOUNDCARD_H
305HAVE_SPEED_T
306HAVE_STDINT_H
307HAVE_STDIO_EXT_H
308HAVE_STDLIB_H
309HAVE_STLIB_H_1
310HAVE_STRINGS_H
311HAVE_STRING_H
312HAVE_STRNCASECMP
313HAVE_STRSIGNAL
314HAVE_STRTOIMAX
315HAVE_STRTOLL
316HAVE_STRTOULL
317HAVE_STRTOUMAX
318HAVE_STRUCT_ERA_ENTRY
319HAVE_STRUCT_IFREQ_IFR_ADDR
320HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN
321HAVE_STRUCT_IFREQ_IFR_BROADADDR
322HAVE_STRUCT_IFREQ_IFR_FLAGS
323HAVE_STRUCT_IFREQ_IFR_HWADDR
324HAVE_STRUCT_IFREQ_IFR_NETMASK
325HAVE_STRUCT_NLIST_N_UN_N_NAME
326HAVE_STRUCT_STAT_ST_ATIMENSEC
327HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
328HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
329HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
330HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
331HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
332HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
333HAVE_STRUCT_TIMEZONE
334HAVE_STRUCT_TM_TM_ZONE
335HAVE_STRUCT_UTIMBUF
336HAVE_ST_DM_MODE
337HAVE_SYMLINK
338HAVE_SYNC
339HAVE_SYS_BITYPES_H
340HAVE_SYS_INTTYPES_H
341HAVE_SYS_LOADAVG_H
342HAVE_SYS_PARAM_H
343HAVE_SYS_RESOURCE_H
344HAVE_SYS_SELECT_H
345HAVE_SYS_SOCKET_H
346HAVE_SYS_SOUNDCARD_H
347HAVE_SYS_STAT_H
348HAVE_SYS_SYSTEMINFO_H
349HAVE_SYS_TIMEB_H
350HAVE_SYS_TIME_H
351HAVE_SYS_TYPES_H
352HAVE_SYS_UN_H
353HAVE_SYS_UTSNAME_H
354HAVE_SYS_VLIMIT_H
355HAVE_SYS_WAIT_H
356HAVE_TCATTR
357HAVE_TERM_H
358HAVE_TIFF
359HAVE_TIMEVAL
360HAVE_TM_GMTOFF
361HAVE_TM_ZONE
362HAVE_TOUCHLOCK
363HAVE_TZNAME
364HAVE_TZSET
365HAVE_UNSIGNED_LONG_LONG_INT
366HAVE_UTIL_H
367HAVE_UTIMENSAT
368HAVE_UTIMES
369HAVE_UTIME_H
370HAVE_UTMP_H
371HAVE_VFORK
372HAVE_VFORK_H
373HAVE_WCHAR_H
374HAVE_WCHAR_T
375HAVE_WINDOW_SYSTEM
376HAVE_WINSOCK2_H
377HAVE_WORKING_FORK
378HAVE_WORKING_UTIMES
379HAVE_WORKING_VFORK
380HAVE_WS2TCPIP_H
381HAVE_XAW3D
382HAVE_XFT
383HAVE_XIM
384HAVE_XKBGETKEYBOARD
385HAVE_XPM
386HAVE_XRMSETDATABASE
387HAVE_XSCREENNUMBEROFSCREEN
388HAVE_XSCREENRESOURCESTRING
389HAVE_X_I18N
390HAVE_X_MENU
391HAVE_X_SM
392HAVE_X_WINDOWS
393HAVE__BOOL
394HAVE__FTIME
395HAVE___BUILTIN_UNWIND_INIT
396HAVE___EXECUTABLE_START
397HAVE___FPENDING
398INTERNAL_TERMINAL
399IS_ANY_SEP
400IS_DIRECTORY_SEP
401LOCALTIME_CACHE
402MAIL_USE_FLOCK
403MAIL_USE_LOCKF
404MAIL_USE_POP
405MAIL_USE_SYSTEM_LOCK
406MAXPATHLEN
407NLIST_STRUCT
408NO_EDITRES
409NSIG
410NSIG_MINIMUM
411NULL_DEVICE
412ORDINARY_LINK
413PAGESIZE
414PREFER_VSUSP
415PTY_ITERATION
416PTY_NAME_SPRINTF
417PTY_OPEN
418PTY_TTY_NAME_SPRINTF
419PURESIZE
420RUN_TIME_REMAP
421SETUP_SLAVE_PTY
422SIGALRM
423SIGCHLD
424SIGHUP
425SIGKILL
426SIGNALS_VIA_CHARACTERS
427SIGPIPE
428SIGQUIT
429SIGTRAP
430STDC_HEADERS
431SYSTEM_PURESIZE_EXTRA
432SYSTEM_MALLOC
433TAB3
434TABDLY
435TERM
436TIME_WITH_SYS_TIME
437TIOCSIGSEND
438TM_IN_SYS_TIME
439ULIMIT_BREAK_VALUE
440UNIX98_PTYS
441USE_TOOLKIT_SCROLL_BARS
442USG_SUBTTY_WORKS
443VALBITS
444XOS_NEEDS_TIME_H
445_FILE_OFFSET_BITS
446_LP64
447_longjmp
448_setjmp
449abort
450alloca
451close
452emacs
453free
454gmtime
455localtime
456malloc
457random
458read
459realloc
460select
461umask
462vfork
463
464
465src/sysdep.c:
466write
467
468src/syssignal.h:
469signal
470sigmask
471sigsetmask
472
473
474lib/dup2.c:
475dup2
476
477lib/signal.h:
478signal
479
480lib/stdio.h:
481fdopen
482fopen
483fwrite
484popen
485rename
486
487lib/stdlib.h:
488calloc
489srandom (conf_post.h may undo)
490
491lib/strftime.c:
492tzname
493tzset
494
495lib/sys/stat.h:
496mkdir
497
498lib/unistd.h:
499chown
500dup
501dup2
502ftruncate
503isatty
504link
505lseek
506pipe
507rmdir
508sleep
509unlink
510
511
512MS DOS stuff:
513
514_NAIVE_DOS_REGS
515
516
517MS stuff:
518
519USE_CRT_DLL
520
521ms-w32.h:
522DebPrint
523EMACSDEBUG
524MUST_UNDEF__STDC__
525
526_VARARGS_
527_WINSOCKAPI_
528_WINSOCK_H
529
530access
531calloc
532chdir
533chmod
534chown
535creat
536ctime
537dup
538dup2
539execlp
540execvp (also emacsclient.c [WINDOWSNT])
541fdopen
542fileno
543fopen
544fsync
545ftruncate
546getdefdir
547getdisk
548getpid
549isatty
550kill
551link
552lseek
553mkdir
554mktemp
555open
556pclose
557pipe
558popen
559rename
560rmdir
561signal
562sleep
563spawnve
564strdup
565stricmp
566strnicmp
567strupr
568sys_nerr
569tzname
570tzset
571umask
572unlink
573utimbuf
574utime
575wait (also movemail.c [WINDOWSNT])
576write
577
578lib-src/ntlib:
579access
580chdir
581chmod
582creat
583dup
584dup2
585execlp
586execvp
587fdopen
588fileno
589fopen
590getpid
591index
592isatty
593lseek
594mkdir
595mktemp
596open
597pclose
598pipe
599popen
600rmdir
601rindex
602sleep
603umask
604unlink
605utime