X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/fbf31a9c2c08c86a7ab490cb7b920245b829a61d..ab422c4d6899b1442cb6954c1829c1fb656b006c:/admin/CPP-DEFINES diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index c084a94188..661cde9c43 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES @@ -1,10 +1,21 @@ 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 +BSD4_2 +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 +24,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 +40,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 +63,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,158 +77,355 @@ 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 - -** 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. +USER_FULL_NAME If defined, overrides the default pw->pw_gecos for +getting at the full user name. Only MSDOS overrides the default. +** Miscellaneous defines. Some of these might not be used in the code +anymore, so they can be removed. -AIX AMPERSAND_FULL_NAME -BITS_PER_EMACS_INT -BITS_PER_LONG -BITS_PER_CHAR -BITS_PER_SHORT -BITS_PER_INT BROKEN_DATAGRAM_SOCKETS BROKEN_FIONREAD +BROKEN_GETWD 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 -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_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_CLOSEDIR +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_DIRENT_H HAVE_DUP2 +HAVE_ENDGRENT +HAVE_ENDPWENT +HAVE_ENVIRON_DECL HAVE_EUIDACCESS -HAVE_FMOD +HAVE_FCNTL_H +HAVE_FORK HAVE_FPATHCONF -HAVE_FREXP +HAVE_FREEIFADDRS +HAVE_FREETYPE +HAVE_FSEEKO HAVE_FSYNC -HAVE_FTIME +HAVE_FUTIMENS +HAVE_FUTIMES +HAVE_FUTIMESAT +HAVE_GAI_STRERROR +HAVE_GCONF +HAVE_GETADDRINFO HAVE_GETCWD -HAVE_GETDOMAINNAME +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_MKSTEMP +HAVE_MMAP HAVE_MOUSE -HAVE_PERROR +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_SIZE_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_SYSINFO -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 NULL_DEVICE ORDINARY_LINK -O_APPEND O_RDONLY O_RDWR PAGESIZE PENDING_OUTPUT_COUNT -POSIX PREFER_VSUSP PTY_ITERATION PTY_NAME_SPRINTF @@ -218,8 +433,6 @@ PTY_OPEN PTY_TTY_NAME_SPRINTF PURESIZE RUN_TIME_REMAP -SA_RESTART -SEGMENT_MASK SETPGRP_RELEASES_CTTY SETUP_SLAVE_PTY SIGALRM @@ -230,11 +443,9 @@ SIGNALS_VIA_CHARACTERS SIGPIPE SIGQUIT SIGTRAP -SOLARIS2 STDC_HEADERS SYSTEM_PURESIZE_EXTRA SYSTEM_MALLOC -SYSV_SYSTEM_DIR TAB3 TABDLY TERM @@ -243,104 +454,168 @@ 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 -const 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