]> code.delx.au - gnu-emacs/blobdiff - admin/CPP-DEFINES
Implement CLASH_DETECTION for MS-Windows.
[gnu-emacs] / admin / CPP-DEFINES
index 94bb94357b9bdcfd6af74cd72231a1d86ceb0571..da8dec5a0f681c71cd3e14da630fbae04f4a0eb6 100644 (file)
@@ -1,10 +1,20 @@
 Here are some of the cpp macros used, together with some short explanation
 of their use.  Feel free to add more macros and more categories.
+Most of these are from config.in, so it's probably better to put the
+explanations in that file.  Ideally, everything would be defined and
+documented in config.in, and this file would not be necessary.
+
 
 ** Distinguishing OSes **
 
+AIX
+_AIX
+BSD_SYSTEM
 CYGWIN         Compiling the Cygwin port.
 __CYGWIN__     Ditto
+GNU_LINUX
+HPUX
+IRIX6_5
 MSDOS          Compiling the MS-DOS port.
 __MSDOS__      Ditto.
 __DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
@@ -13,6 +23,10 @@ WINDOWSNT    Compiling the native MS-Windows (W32) port.
 __MINGW32__    Compiling the W32 port with the MinGW port of GCC.
 _MSC_VER       Compiling the W32 port with the Microsoft C compiler.
 DARWIN_OS      Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
+SOLARIS2
+USG
+USG5
+USG5_4
 
 ** Distinguishing GUIs **
 
@@ -25,6 +39,9 @@ HAVE_X_WINDOWS        Compile support for X Window system
   (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
    be, and vice versa.  At least, this is true for configure, and
    msdos; not sure about nt.)
+HAVE_X11R6
+HAVE_X11R6_XIM
+HAVE_X11XTR6
 USE_LUCID      Use the Lucid toolkit for menus&scrollbars.  Requires HAVE_X11.
 USE_MOTIF      Use the Motif toolkit for menus&scrollbars.  Requires HAVE_X11.
 USE_GTK                Use the Gtk   toolkit for menus&scrollbars.  Requires HAVE_X11.
@@ -45,12 +62,12 @@ HAVE_PROCFS     The /proc filesystem is supported.
 
 REL_ALLOC      Compile in the relocatable memory allocator ralloc.c.
 SYSTEM_MALLOC  Use the system library's malloc.
-subprocesses    System can use subprocesses (for M-x shell for example).  Defined by default, only MSDOS undefines it.
-USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
+subprocesses    System can use subprocesses (for M-x shell for example).
+                Defined by default, only MSDOS undefines it.
+DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks
+                       on Lisp_Object use.
 
-** System specific macros, described in detail in src/s/template.h
-CLASH_DETECTION
-COFF
+** System specific macros
 FIRST_PTY_LETTER
 HAVE_PTYS
 INTERRUPT_INPUT
@@ -59,150 +76,338 @@ SEPCHAR
 SYSTEM_TYPE
 
 ** Misc macros
-USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for getting at the full user name.  Only MSDOS overrides the default.
-
-** Replace, the definition is trivial: SWITCH_ENUM_CAST
+USER_FULL_NAME   If defined, overrides the default pw->pw_gecos for
+getting at the full user name.  Only MSDOS overrides the default.
 
-** 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.
+** Miscellaneous defines.  Some of these might not be used in the code
+anymore, so they can be removed.
 
-
-AIX
 AMPERSAND_FULL_NAME
 BROKEN_DATAGRAM_SOCKETS
 BROKEN_FIONREAD
 BROKEN_GET_CURRENT_DIR_NAME
 BROKEN_NON_BLOCKING_CONNECT
 BROKEN_PTY_READ_AFTER_EAGAIN
-BROKEN_SA_RESTART
-BROKEN_SIGAIO
-BROKEN_SIGIO
-BROKEN_SIGPOLL
-BROKEN_SIGPTY
-BSD4_2
-BSD4_3
-BSD_SYSTEM
 CLASH_DETECTION
 DATA_SEG_BITS
-DATA_START
-DBL_MIN_REPLACEMENT
 DEFAULT_SOUND_DEVICE
 DEVICE_SEP
 DIRECTORY_SEP
 DONT_REOPEN_PTY
 DOUG_LEA_MALLOC
-DebPrint
-EMACSDEBUG
 EMACS_CONFIGURATION
 EMACS_CONFIG_OPTIONS
 EMACS_INT
 EMACS_UINT
-FILE_SYSTEM_CASE
-FLOAT_CHECK_DOMAIN
-GC_LISP_OBJECT_ALIGNMENT
 GC_MARK_SECONDARY_STACK
 GC_MARK_STACK
 GC_SETJMP_WORKS
-GMALLOC_INHIBIT_VALLOC
-GNU_LIBRARY_PENDING_OUTPUT_COUNT
-GNU_LINUX
 GNU_MALLOC
 HAVE_AIX_SMT_EXP
-HAVE_CBRT
-HAVE_CLOSEDIR
+HAVE_ALARM
+HAVE_ALLOCA
+HAVE_ALLOCA_H
+HAVE_ALSA
+HAVE_ATTRIBUTE_ALIGNED
+HAVE_BDFFONT
+HAVE_BOXES
+HAVE_C99_STRTOLD
+HAVE_CFMAKERAW
+HAVE_CFSETSPEED
+HAVE_CLOCK_GETTIME
+HAVE_CLOCK_SETTIME
+HAVE_COFF_H
+HAVE_COM_ERR_H
+HAVE_COPYSIGN
+HAVE_DBUS
+HAVE_DBUS_TYPE_IS_VALID
+HAVE_DBUS_VALIDATE_BUS_NAME
+HAVE_DBUS_VALIDATE_INTERFACE
+HAVE_DBUS_VALIDATE_MEMBER
+HAVE_DBUS_VALIDATE_PATH
+HAVE_DBUS_WATCH_GET_UNIX_FD
+HAVE_DECL_GETENV
+HAVE_DECL_LOCALTIME_R
+HAVE_DECL_STRMODE
+HAVE_DECL_STRTOIMAX
+HAVE_DECL_STRTOLL
+HAVE_DECL_STRTOULL
+HAVE_DECL_STRTOUMAX
+HAVE_DECL_SYS_SIGLIST
+HAVE_DECL_TZNAME
+HAVE_DECL___SYS_SIGLIST
+HAVE_DES_H
+HAVE_DEV_PTMX
+HAVE_DIALOGS
+HAVE_DIFFTIME
 HAVE_DUP2
+HAVE_ENDGRENT
+HAVE_ENDPWENT
+HAVE_ENVIRON_DECL
 HAVE_EUIDACCESS
-HAVE_FMOD
-HAVE_FPATHCONF
-HAVE_FREXP
+HAVE_FORK
+HAVE_FREEIFADDRS
+HAVE_FREETYPE
+HAVE_FSEEKO
 HAVE_FSYNC
-HAVE_GETCWD
+HAVE_FUTIMENS
+HAVE_FUTIMES
+HAVE_FUTIMESAT
+HAVE_GAI_STRERROR
+HAVE_GCONF
+HAVE_GETADDRINFO
+HAVE_GETDELIM
+HAVE_GETGRENT
 HAVE_GETHOSTNAME
+HAVE_GETIFADDRS
+HAVE_GETLINE
 HAVE_GETLOADAVG
+HAVE_GETOPT_H
+HAVE_GETOPT_LONG_ONLY
 HAVE_GETPAGESIZE
+HAVE_GETPEERNAME
 HAVE_GETPT
+HAVE_GETPWENT
+HAVE_GETRLIMIT
+HAVE_GETRUSAGE
+HAVE_GETSOCKNAME
 HAVE_GETTIMEOFDAY
-HAVE_GETWD
+HAVE_GET_CURRENT_DIR_NAME
+HAVE_GHOSTSCRIPT
+HAVE_GIF
+HAVE_GNUTLS
+HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY
+HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
+HAVE_GPM
+HAVE_GRANTPT
+HAVE_GSETTINGS
+HAVE_GTK3
+HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
+HAVE_GTK_DIALOG_GET_ACTION_AREA
+HAVE_GTK_FILE_SELECTION_NEW
+HAVE_GTK_MAIN
+HAVE_GTK_MULTIDISPLAY
+HAVE_GTK_ORIENTABLE_SET_ORIENTATION
+HAVE_GTK_WIDGET_GET_MAPPED
+HAVE_GTK_WIDGET_GET_SENSITIVE
+HAVE_GTK_WIDGET_GET_WINDOW
+HAVE_GTK_WIDGET_SET_HAS_WINDOW
+HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
+HAVE_G_TYPE_INIT
 HAVE_H_ERRNO
+HAVE_IFADDRS_H
+HAVE_IMAGEMAGICK
 HAVE_INET_SOCKETS
-HAVE_INVERSE_HYPERBOLIC
+HAVE_INTTYPES_H
+HAVE_JPEG
+HAVE_KERBEROSIV_DES_H
+HAVE_KERBEROSIV_KRB_H
+HAVE_KERBEROS_DES_H
+HAVE_KERBEROS_KRB_H
+HAVE_KRB5_ERROR_E_TEXT
+HAVE_KRB5_ERROR_TEXT
+HAVE_KRB5_H
+HAVE_KRB_H
+HAVE_LANGINFO_CODESET
+HAVE_LIBCOM_ERR
+HAVE_LIBCRYPTO
+HAVE_LIBDES
+HAVE_LIBDES425
+HAVE_LIBDGC
+HAVE_LIBDNET
+HAVE_LIBHESIOD
+HAVE_LIBK5CRYPTO
+HAVE_LIBKRB
+HAVE_LIBKRB4
+HAVE_LIBKRB5
 HAVE_LIBKSTAT
-HAVE_LIMITS_H
+HAVE_LIBLOCKFILE
+HAVE_LIBM
+HAVE_LIBMAIL
+HAVE_LIBOTF
+HAVE_LIBPERFSTAT
+HAVE_LIBPNG_PNG_H
+HAVE_LIBPTHREADS
+HAVE_LIBRESOLV
+HAVE_LIBSELINUX
+HAVE_LIBXEXT
+HAVE_LIBXML2
+HAVE_LIBXMU
 HAVE_LINUX_VERSION_H
-HAVE_LOGB
+HAVE_LOCALTIME_R
+HAVE_LOCAL_SOCKETS
 HAVE_LONG_FILE_NAMES
+HAVE_LONG_LONG_INT
 HAVE_LRAND48
+HAVE_LSTAT
+HAVE_LUTIMES
+HAVE_M17N_FLT
+HAVE_MACHINE_SOUNDCARD_H
+HAVE_MACH_MACH_H
+HAVE_MAGICKEXPORTIMAGEPIXELS
+HAVE_MAGICKMERGEIMAGELAYERS
+HAVE_MAILLOCK_H
+HAVE_MALLOC_MALLOC_H
+HAVE_MATHERR
+HAVE_MBSTATE_T
+HAVE_MEMCMP
+HAVE_MEMMOVE
+HAVE_MEMORY_H
+HAVE_MEMSET
 HAVE_MENUS
-HAVE_MKDIR
-HAVE_MKTIME
-HAVE_MOUSE
-HAVE_PERROR
+HAVE_MKSTEMP
+HAVE_MMAP
+HAVE_MULTILINGUAL_MENU
+HAVE_NANOTIME
+HAVE_NET_IF_DL_H
+HAVE_NET_IF_H
+HAVE_NLIST_H
+HAVE_OTF_GET_VARIATION_GLYPHS
+HAVE_PERSONALITY_LINUX32
+HAVE_PNG
+HAVE_PNG_H
+HAVE_POSIX_MEMALIGN
+HAVE_PROCFS
+HAVE_PSELECT
 HAVE_PSTAT_GETDYNAMIC
+HAVE_PTHREAD
+HAVE_PTHREAD_H
+HAVE_PTHREAD_SIGMASK
+HAVE_PTYS
+HAVE_PTY_H
 HAVE_PWD_H
 HAVE_RANDOM
-HAVE_RENAME
+HAVE_READLINK
+HAVE_READLINKAT
+HAVE_RECVFROM
 HAVE_RES_INIT
 HAVE_RINT
-HAVE_RMDIR
+HAVE_RSVG
 HAVE_SELECT
+HAVE_SENDTO
+HAVE_SEQPACKET
+HAVE_SETITIMER
 HAVE_SETLOCALE
-HAVE_SETPGID
 HAVE_SETRLIMIT
-HAVE_SETSID
+HAVE_SHARED_GAME_DIR
 HAVE_SHUTDOWN
+HAVE_SIGNED_${GLTYPE}
+HAVE_SIGNED_SIG_ATOMIC_T
+HAVE_SIGNED_WCHAR_T
+HAVE_SIGNED_WINT_T
+HAVE_SIGSET_T
+HAVE_SNPRINTF
 HAVE_SOCKETS
 HAVE_SOUND
+HAVE_SOUNDCARD_H
+HAVE_SPEED_T
+HAVE_STDINT_H
+HAVE_STDIO_EXT_H
 HAVE_STDLIB_H
-HAVE_STRERROR
-HAVE_STRFTIME
+HAVE_STLIB_H_1
+HAVE_STRINGS_H
 HAVE_STRING_H
+HAVE_STRNCASECMP
+HAVE_STRSIGNAL
+HAVE_STRTOIMAX
+HAVE_STRTOLL
+HAVE_STRTOULL
+HAVE_STRTOUMAX
+HAVE_STRUCT_ERA_ENTRY
+HAVE_STRUCT_IFREQ_IFR_ADDR
+HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN
+HAVE_STRUCT_IFREQ_IFR_BROADADDR
+HAVE_STRUCT_IFREQ_IFR_FLAGS
+HAVE_STRUCT_IFREQ_IFR_HWADDR
+HAVE_STRUCT_IFREQ_IFR_NETMASK
+HAVE_STRUCT_NLIST_N_UN_N_NAME
+HAVE_STRUCT_STAT_ST_ATIMENSEC
+HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
+HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
+HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
+HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
+HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
+HAVE_STRUCT_TIMEZONE
+HAVE_STRUCT_TM_TM_ZONE
 HAVE_STRUCT_UTIMBUF
-HAVE_SYSV_SIGPAUSE
+HAVE_ST_DM_MODE
+HAVE_SYMLINK
+HAVE_SYNC
+HAVE_SYS_BITYPES_H
+HAVE_SYS_INTTYPES_H
+HAVE_SYS_LOADAVG_H
+HAVE_SYS_PARAM_H
+HAVE_SYS_RESOURCE_H
 HAVE_SYS_SELECT_H
+HAVE_SYS_SOCKET_H
+HAVE_SYS_SOUNDCARD_H
+HAVE_SYS_STAT_H
 HAVE_SYS_SYSTEMINFO_H
 HAVE_SYS_TIMEB_H
 HAVE_SYS_TIME_H
+HAVE_SYS_TYPES_H
+HAVE_SYS_UN_H
+HAVE_SYS_UTSNAME_H
+HAVE_SYS_VLIMIT_H
+HAVE_SYS_WAIT_H
 HAVE_TCATTR
+HAVE_TERM_H
+HAVE_TIFF
 HAVE_TIMEVAL
+HAVE_TM_GMTOFF
 HAVE_TM_ZONE
+HAVE_TOUCHLOCK
+HAVE_TZNAME
 HAVE_TZSET
-HAVE_UNISTD_H
+HAVE_UNSIGNED_LONG_LONG_INT
+HAVE_UTIL_H
+HAVE_UTIMENSAT
 HAVE_UTIMES
 HAVE_UTIME_H
+HAVE_UTMP_H
+HAVE_VFORK
+HAVE_VFORK_H
+HAVE_WCHAR_H
+HAVE_WCHAR_T
 HAVE_WINDOW_SYSTEM
+HAVE_WINSOCK2_H
+HAVE_WORKING_FORK
+HAVE_WORKING_UTIMES
 HAVE_WORKING_VFORK
+HAVE_WS2TCPIP_H
+HAVE_XAW3D
+HAVE_XFT
+HAVE_XIM
+HAVE_XKBGETKEYBOARD
+HAVE_XPM
 HAVE_XRMSETDATABASE
-HPUX
+HAVE_XSCREENNUMBEROFSCREEN
+HAVE_XSCREENRESOURCESTRING
+HAVE_X_I18N
+HAVE_X_MENU
+HAVE_X_SM
+HAVE_X_WINDOWS
+HAVE__BOOL
+HAVE__FTIME
+HAVE___BUILTIN_UNWIND_INIT
+HAVE___EXECUTABLE_START
+HAVE___FPENDING
 INTERNAL_TERMINAL
 IS_ANY_SEP
 IS_DIRECTORY_SEP
-LINKER
-LINUX_VERSION_CODE
-LISP_FLOAT_TYPE
-LNOFLSH
 LOCALTIME_CACHE
 MAIL_USE_FLOCK
 MAIL_USE_LOCKF
 MAIL_USE_POP
 MAIL_USE_SYSTEM_LOCK
 MAXPATHLEN
-MIN_PTY_KERNEL_VERSION -- only used on Mac
-MODE_LINE_BINARY_TEXT
-MUST_UNDEF__STDC__
 NLIST_STRUCT
-NO_ABORT
 NO_EDITRES
-NO_MATHERR
-NO_TERMIO
 NSIG
 NSIG_MINIMUM
 NULL_DEVICE
-ORDINARY_LINK
-O_APPEND
-O_RDONLY
-O_RDWR
 PAGESIZE
-PENDING_OUTPUT_COUNT
-POSIX
 PREFER_VSUSP
 PTY_ITERATION
 PTY_NAME_SPRINTF
@@ -210,128 +415,180 @@ PTY_OPEN
 PTY_TTY_NAME_SPRINTF
 PURESIZE
 RUN_TIME_REMAP
-SA_RESTART
-SEGMENT_MASK
-SETPGRP_RELEASES_CTTY
 SETUP_SLAVE_PTY
-SIGALRM
-SIGCHLD
-SIGHUP
-SIGKILL
 SIGNALS_VIA_CHARACTERS
-SIGPIPE
-SIGQUIT
-SIGTRAP
-SOLARIS2
 STDC_HEADERS
 SYSTEM_PURESIZE_EXTRA
 SYSTEM_MALLOC
-SYSV_SYSTEM_DIR
 TAB3
 TABDLY
 TERM
 TIME_WITH_SYS_TIME
 TIOCSIGSEND
 TM_IN_SYS_TIME
-ULIMIT_BREAK_VALUE
 UNIX98_PTYS
-USE_CRT_DLL
 USE_TOOLKIT_SCROLL_BARS
-USG
-USG5
-USG5_4
 USG_SUBTTY_WORKS
 VALBITS
-WRETCODE
 XOS_NEEDS_TIME_H
-_AIX
-_ARCH_PPC64
 _FILE_OFFSET_BITS
 _LP64
-_MALLOC_INTERNAL
+_longjmp
+_setjmp
+abort
+alloca
+close
+emacs
+free
+gmtime
+localtime
+malloc
+random
+read
+realloc
+select
+umask
+vfork
+
+
+src/sysdep.c:
+write
+
+src/syssignal.h:
+signal
+sigmask
+sigsetmask
+
+
+lib/dup2.c:
+dup2
+
+lib/signal.h:
+signal
+
+lib/stdio.h:
+fdopen
+fopen
+fwrite
+popen
+rename
+
+lib/stdlib.h:
+calloc
+srandom     (conf_post.h may undo)
+
+lib/strftime.c:
+tzname
+tzset
+
+lib/sys/stat.h:
+mkdir
+
+lib/unistd.h:
+chown
+dup
+dup2
+ftruncate
+isatty
+link
+lseek
+pipe
+rmdir
+sleep
+unlink
+
+
+MS DOS stuff:
+
 _NAIVE_DOS_REGS
+
+
+MS stuff:
+
+USE_CRT_DLL
+
+ms-w32.h:
+DebPrint
+EMACSDEBUG
+MUST_UNDEF__STDC__
+
 _VARARGS_
 _WINSOCKAPI_
 _WINSOCK_H
-_longjmp
-_setjmp
-_start
-abort
+
 access
-alloca
-brk
 calloc
 chdir
 chmod
 chown
-close
 creat
 ctime
 dup
 dup2
-edata
-emacs
-etext
 execlp
-execvp
+execvp  (also emacsclient.c [WINDOWSNT])
 fdopen
 fileno
 fopen
-free
 fsync
 ftruncate
-fwrite
 getdefdir
 getdisk
-getenv
 getpid
-getuid
-gmtime
-index
 isatty
 kill
 link
-linux
-localtime
-logb
 lseek
-malloc
 mkdir
 mktemp
 open
 pclose
 pipe
 popen
-random
-read
-realloc
 rename
-rindex
 rmdir
-sbrk
-select
-sigmask
 signal
-sigsetmask
 sleep
 spawnve
-srandom
 strdup
-strerror
 stricmp
 strnicmp
 strupr
 sys_nerr
-system
-temacs
 tzname
 tzset
 umask
-unix
 unlink
 utimbuf
 utime
-vfork
-wait
+wait  (also movemail.c [WINDOWSNT])
 write
-xfree
+
+lib-src/ntlib:
+access
+chdir
+chmod
+creat
+dup
+dup2
+execlp
+execvp
+fdopen
+fileno
+fopen
+getpid
+index
+isatty
+lseek
+mkdir
+mktemp
+open
+pclose
+pipe
+popen
+rmdir
+rindex
+sleep
+umask
+unlink
+utime