]> code.delx.au - gnu-emacs/blobdiff - admin/CPP-DEFINES
Misc updates for CPP-DEFINES
[gnu-emacs] / admin / CPP-DEFINES
index 3c69e9e6a4aa889d4905b09e82ee5823fb1dfc74..47453f504678e234229898fc8a9290f523494fc3 100644 (file)
@@ -1,20 +1,33 @@
 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__      Major version number of the DJGPP library for the DOS port.
-__DJGPP_MINOR__ Minor version number of the DJGPP library.
-__GO32__       Compiling the DOS port with DJGPP v1.x (obsolete).
+__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
 DOS_NT         Compiling for either the MS-DOS or native MS-Windows port.
 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 **
 
@@ -24,7 +37,9 @@ NS_IMPL_GNUSTEP       Compile support for GNUstep implementation of NS GUI API.
 NS_IMPL_COCOA  Compile support for Cocoa (Apple) implementation of NS GUI API.
 HAVE_X11       Compile support for the X11 GUI.
 HAVE_X_WINDOWS Compile support for X Window system
-X11            ??  Makefile.in suggests it's equivalent to HAVE_X11
+  (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.)
 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,53 +60,27 @@ 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, decribed in detail in src/s/template.h
-BSTRING
-CLASH_DETECTION
-COFF
+** System specific macros
 FIRST_PTY_LETTER
 HAVE_PTYS
-HAVE_TERMIO
-HAVE_TERMIOS
 INTERRUPT_INPUT
-MAIL_USE_FLOCK
 NARROWPROTO
-NOMULTIPLEJOBS
 SEPCHAR
-SIGTYPE
 SYSTEM_TYPE
-USE_MMAP_FOR_BUFFERS
-
-** Machine specific macros, decribed in detail in src/m/template.h
-CANNOT_DUMP
-EXPLICIT_SIGN_EXTEND
-LOAD_AVE_CVT
-LOAD_AVE_TYPE
-NO_ARG_ARRAY
-NO_REMAP
-VIRT_ADDR_VARIES
-WORDS_BIG_ENDIAN
-
-** Not used anymore by any port, can be cleaned up
-NO_SOCK_SIGIO
 
 ** 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.
+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
+** Miscellaneous defines.  Some of these might not be used in the code
+anymore, so they can be removed.
 
-** 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.
-
-
-AIX
 AMPERSAND_FULL_NAME
-BCOPY_DOWNWARD_SAFE
-BCOPY_UPWARD_SAFE
-BITS_PER_EMACS_INT
-BITS_PER_LONG
 BROKEN_DATAGRAM_SOCKETS
 BROKEN_FIONREAD
 BROKEN_GET_CURRENT_DIR_NAME
@@ -102,22 +91,10 @@ BROKEN_SIGAIO
 BROKEN_SIGIO
 BROKEN_SIGPOLL
 BROKEN_SIGPTY
-BSD4_2
-BSD4_3
-BSD_PGRPS
-BSD_SYSTEM
 CLASH_DETECTION
-COFF_BSD_SYMBOLS
-CRT0_DUMMIES
-C_DEBUG_SWITCH
-C_SWITCH_MACHINE
-C_SWITCH_SYSTEM
-C_SWITCH_SYSTEM_TEMACS
-C_SWITCH_X_SYSTEM
 DATA_SEG_BITS
 DATA_START
 DBL_MIN_REPLACEMENT
-DECLARE_GETPWUID_WITH_UID_T
 DEFAULT_SOUND_DEVICE
 DEVICE_SEP
 DIRECTORY_SEP
@@ -129,35 +106,24 @@ EMACS_CONFIGURATION
 EMACS_CONFIG_OPTIONS
 EMACS_INT
 EMACS_UINT
-END_FILES_1
-FILE_SYSTEM_CASE
 FLOAT_CHECK_DOMAIN
-FSCALE
-GAP_USE_BCOPY
 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_ALLOCA
-HAVE_BCMP
-HAVE_BCOPY
 HAVE_CBRT
 HAVE_CLOSEDIR
-HAVE_CRTIN
 HAVE_DUP2
 HAVE_EUIDACCESS
 HAVE_FMOD
 HAVE_FPATHCONF
 HAVE_FREXP
 HAVE_FSYNC
-HAVE_FTIME
 HAVE_GETCWD
-HAVE_GETDOMAINNAME
 HAVE_GETHOSTNAME
 HAVE_GETLOADAVG
 HAVE_GETPAGESIZE
@@ -165,32 +131,22 @@ HAVE_GETPT
 HAVE_GETTIMEOFDAY
 HAVE_GETWD
 HAVE_H_ERRNO
-HAVE_INDEX
 HAVE_INET_SOCKETS
 HAVE_INVERSE_HYPERBOLIC
-HAVE_LIB64_DIR
 HAVE_LIBKSTAT
-HAVE_LIBNCURSES
-HAVE_LIBPTHREADS
-HAVE_LIBXMU
 HAVE_LIMITS_H
 HAVE_LINUX_VERSION_H
 HAVE_LOGB
 HAVE_LONG_FILE_NAMES
 HAVE_LRAND48
 HAVE_MENUS
-HAVE_MKDIR
 HAVE_MKTIME
 HAVE_MOUSE
-HAVE_PERROR
 HAVE_PSTAT_GETDYNAMIC
 HAVE_PWD_H
 HAVE_RANDOM
-HAVE_RENAME
 HAVE_RES_INIT
-HAVE_RINDEX
 HAVE_RINT
-HAVE_RMDIR
 HAVE_SELECT
 HAVE_SETLOCALE
 HAVE_SETPGID
@@ -200,97 +156,47 @@ HAVE_SHUTDOWN
 HAVE_SOCKETS
 HAVE_SOUND
 HAVE_STDLIB_H
-HAVE_STRERROR
 HAVE_STRFTIME
 HAVE_STRING_H
 HAVE_STRUCT_UTIMBUF
-HAVE_SYSINFO
-HAVE_SYSV_SIGPAUSE
 HAVE_SYS_SELECT_H
 HAVE_SYS_SYSTEMINFO_H
 HAVE_SYS_TIMEB_H
 HAVE_SYS_TIME_H
 HAVE_TCATTR
-HAVE_TERMIOS_H
-HAVE_TEXT_START
-HAVE_TIMEVAL
 HAVE_TM_ZONE
 HAVE_TZSET
 HAVE_UNISTD_H
-HAVE_UTIMES
 HAVE_UTIME_H
-HAVE_VOLATILE
 HAVE_WINDOW_SYSTEM
 HAVE_WORKING_VFORK
 HAVE_XRMSETDATABASE
-HPUX
-IBMR2AIX
-INHIBIT_X11R6_XIM
 INTERNAL_TERMINAL
 IS_ANY_SEP
 IS_DIRECTORY_SEP
-KERNEL_FILE
-LDAV_SYMBOL
-LD_SWITCH_MACHINE
-LD_SWITCH_MACHINE_TEMACS
-LD_SWITCH_SYSTEM
-LD_SWITCH_SYSTEM_TEMACS
-LD_SWITCH_SYSTEM_tmp
-LD_SWITCH_X_DEFAULT
-LIBS_DEBUG
-LIBS_MACHINE
-LIBS_SYSTEM
-LIBS_TERMCAP
-LIBX11_SYSTEM
-LIBXMU
-LIB_GCC
-LIB_MATH
-LIB_MOTIF
-LIB_STANDARD
-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__
-NEED_BSDTTY
-NEED_ERRNO
-NEED_LIBW
-NEED_UNISTD_H
 NLIST_STRUCT
-NOT_C_CODE
-NOT_USING_MOTIF
 NO_ABORT
-NO_DIR_LIBRARY
 NO_EDITRES
 NO_MATHERR
-NO_SHARED_LIBS
 NO_TERMIO
 NSIG
 NSIG_MINIMUM
-NULL
 NULL_DEVICE
 ORDINARY_LINK
-OTHER_FILES
 O_APPEND
-O_BINARY
-O_CREAT
-O_EXCL
 O_RDONLY
 O_RDWR
-O_TEXT
-O_TRUNC
-O_WRONLY
 PAGESIZE
 PENDING_OUTPUT_COUNT
-POSIX
-POSIX_SIGNALS
 PREFER_VSUSP
 PTY_ITERATION
 PTY_NAME_SPRINTF
@@ -299,7 +205,6 @@ PTY_TTY_NAME_SPRINTF
 PURESIZE
 RUN_TIME_REMAP
 SA_RESTART
-SECTION_ALIGNMENT  -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
 SEGMENT_MASK
 SETPGRP_RELEASES_CTTY
 SETUP_SLAVE_PTY
@@ -311,47 +216,23 @@ SIGNALS_VIA_CHARACTERS
 SIGPIPE
 SIGQUIT
 SIGTRAP
-SIGTYPE
-SOLARIS2
-START_FILES
-START_FILES_1
 STDC_HEADERS
-SYMS_SYSTEM
 SYSTEM_PURESIZE_EXTRA
 SYSTEM_MALLOC
 SYSV_SYSTEM_DIR
-Srandom
 TAB3
 TABDLY
 TERM
-TERMINFO
-TEXT_START
-THIS_IS_CONFIGURE
-THIS_IS_MAKEFILE
 TIME_WITH_SYS_TIME
 TIOCSIGSEND
 TM_IN_SYS_TIME
 ULIMIT_BREAK_VALUE
-UNEXEC
 UNIX98_PTYS
 USE_CRT_DLL
-USE_MAC_IMAGE_IO
 USE_TOOLKIT_SCROLL_BARS
-USG
-USG5
-USG5_4
 USG_SUBTTY_WORKS
 VALBITS
-WORDS_BIG_ENDIAN
-WRETCODE
-XINT
 XOS_NEEDS_TIME_H
-XPNTR
-XSET
-XUINT
-_AIX
-_ARCH_PPC64
-_CALLBACK_
 _FILE_OFFSET_BITS
 _LP64
 _MALLOC_INTERNAL
@@ -359,38 +240,18 @@ _NAIVE_DOS_REGS
 _VARARGS_
 _WINSOCKAPI_
 _WINSOCK_H
-__ELF__
-__FreeBSD__
-__FreeBSD_version
-__GNUC__
-__GNU_LIBRARY__
-__GNUC_MINOR__
-__NetBSD__
-__OpenBSD__
-__STDC__
-__arch64__
-__cplusplus
-__hpux
-__ia64__
-__linux__
-__mc68000__
-__mips__
 _longjmp
 _setjmp
 _start
 abort
 access
 alloca
-bcmp
-bcopy
 brk
-bzero
 calloc
 chdir
 chmod
 chown
 close
-const
 creat
 ctime
 dup
@@ -413,9 +274,7 @@ getenv
 getpid
 getuid
 gmtime
-i386
 index
-init_process
 isatty
 kill
 link
@@ -423,7 +282,6 @@ linux
 localtime
 logb
 lseek
-m68k
 malloc
 mkdir
 mktemp
@@ -446,7 +304,6 @@ sleep
 spawnve
 srandom
 strdup
-strerror
 stricmp
 strnicmp
 strupr
@@ -464,5 +321,3 @@ vfork
 wait
 write
 xfree
-
-# arch-tag: bc80061a-1168-4911-9766-46aaf2640250