This file is part of GNU Emacs.
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY. No author or distributor
-accepts responsibility to anyone for the consequences of using it
-or for whether it serves any particular purpose or works at all,
-unless he says so in writing. Refer to the GNU Emacs General Public
-License for full details.
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
-Everyone is granted permission to copy, modify and redistribute
-GNU Emacs, but only under the conditions described in the
-GNU Emacs General Public License. A copy of this license is
-supposed to have been given to you along with GNU Emacs so you
-can know your rights and responsibilities. It should be in a
-file named COPYING. Among other things, the copyright notice
-and this notice must be preserved on all copies. */
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
/* No code in Emacs #includes config.h twice, but some of the code
#ifndef EMACS_CONFIG_H
#define EMACS_CONFIG_H
-
/* These are all defined in the top-level Makefile by configure.
They're here only for reference. */
numbers. */
#undef LISP_FLOAT_TYPE
-/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
+/* Define GNU_MALLOC if you want to use the GNU memory allocator. */
#undef GNU_MALLOC
+/* Define if you are using the GNU C Library. */
+#undef DOUG_LEA_MALLOC
+
/* Define REL_ALLOC if you want to use the relocating allocator for
buffer space. */
#undef REL_ALLOC
/* Define this if you're using XFree386. */
#undef HAVE_XFREE386
-/* Define HAVE_X_MENU if you want to use the X window menu system.
- This appears to work on some machines that support X
- and not on others. */
-#undef HAVE_X_MENU
+/* Define this if you have Motif 2.1 or newer. */
+#undef HAVE_MOTIF_2_1
+
+/* Define HAVE_MENUS if you have mouse menus.
+ (This is automatic if you use X, but the option to specify it remains.)
+ It is also defined with other window systems that support xmenu.c. */
+#undef HAVE_MENUS
/* Define if we have the X11R6 or newer version of Xt. */
#undef HAVE_X11XTR6
+/* Define if we have the X11R6 or newer version of Xlib. */
+#undef HAVE_X11R6
+
+/* Define if we have the X11R5 or newer version of Xlib. */
+#undef HAVE_X11R5
+
/* Define if netdb.h declares h_errno. */
#undef HAVE_H_ERRNO
/* If we're using any sort of window system, define some consequences. */
#ifdef HAVE_X_WINDOWS
-#define MULTI_FRAME
+#define HAVE_WINDOW_SYSTEM
+#define MULTI_KBOARD
#define HAVE_FACES
#define HAVE_MOUSE
#endif
/* Define AMPERSAND_FULL_NAME if you use the convention
that & in the full name stands for the login id. */
-#undef AMPERSAND_FULL_NAME
+/* Turned on June 1996 supposing nobody will mind it. */
+#define AMPERSAND_FULL_NAME
/* Things set by --with options in the configure script. */
/* Define to support Kerberos-authenticated POP mail retrieval. */
#undef KERBEROS
+/* Define to use Kerberos 5 instead of Kerberos 4 */
+#undef KERBEROS5
/* Define to support using a Hesiod database to find the POP server. */
#undef HESIOD
#ifndef _ALL_SOURCE /* suppress warning if this is pre-defined */
#undef _ALL_SOURCE
#endif
+#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIMEB_H
#undef HAVE_SYS_TIME_H
#undef HAVE_UNISTD_H
#undef HAVE_UTIME_H
+#undef HAVE_LINUX_VERSION_H
+#undef HAVE_SYS_SYSTEMINFO_H
+#undef HAVE_TERMIOS_H
+#undef HAVE_LIMITS_H
+#undef HAVE_STRING_H
#undef STDC_HEADERS
#undef TIME_WITH_SYS_TIME
#undef HAVE_LIBDNET
+#undef HAVE_LIBPTHREADS
#undef HAVE_LIBRESOLV
+#undef HAVE_LIBXMU
+#undef HAVE_LIBNCURSES
+#undef HAVE_LIBINTL
+
+/* movemail Kerberos support */
+/* libraries */
+#undef HAVE_LIBKRB
+#undef HAVE_LIBKRB4
+#undef HAVE_LIBDES
+#undef HAVE_LIBDES425
+#undef HAVE_LIBKRB5
+#undef HAVE_LIBCRYPTO
+#undef HAVE_LIBCOM_ERR
+/* header files */
+#undef HAVE_KRB5_H
+#undef HAVE_DES_H
+#undef HAVE_KRB_H
+#undef HAVE_KERBEROSIV_DES_H
+#undef HAVE_KERBEROSIV_KRB_H
+#undef HAVE_KERBEROS_DES_H
+#undef HAVE_KERBEROS_KRB_H
+#undef HAVE_COM_ERR_H
+
+/* Mail-file locking */
+#undef HAVE_LIBMAIL
+#undef HAVE_MAILLOCK_H
+#undef HAVE_TOUCHLOCK
#undef HAVE_ALLOCA_H
#undef HAVE_GETTIMEOFDAY
+/* If we don't have gettimeofday,
+ the test for GETTIMEOFDAY_ONE_ARGUMENT may succeed,
+ but we should ignore it. */
+#ifdef HAVE_GETTIMEOFDAY
+#undef GETTIMEOFDAY_ONE_ARGUMENT
+#endif
#undef HAVE_GETHOSTNAME
+#undef HAVE_GETDOMAINNAME
#undef HAVE_DUP2
#undef HAVE_RENAME
#undef HAVE_CLOSEDIR
#undef HAVE_MKDIR
#undef HAVE_RMDIR
+#undef HAVE_SYSINFO
#undef HAVE_RANDOM
#undef HAVE_LRAND48
#undef HAVE_BCOPY
#undef HAVE_LOGB
#undef HAVE_FREXP
#undef HAVE_FMOD
+#undef HAVE_RINT
+#undef HAVE_CBRT
#undef HAVE_FTIME
#undef HAVE_RES_INIT /* For -lresolv on Suns. */
#undef HAVE_SETSID
#undef HAVE_FPATHCONF
#undef HAVE_SELECT
#undef HAVE_MKTIME
-#undef HAVE_EACCESS
+#undef HAVE_EUIDACCESS
#undef HAVE_GETPAGESIZE
+#undef HAVE_TZSET
+#undef HAVE_SETLOCALE
+#undef HAVE_UTIMES
+#undef HAVE_SETRLIMIT
+#undef HAVE_SETPGID
+#undef HAVE_GETCWD
+#undef HAVE_SHUTDOWN
+#undef HAVE_STRFTIME
+
+#undef LOCALTIME_CACHE
#undef HAVE_INET_SOCKETS
#undef HAVE_AIX_SMT_EXP
Otherwise you must have the variable `char *sys_errlist[]'. */
#undef HAVE_STRERROR
-#undef HAVE_UTIMES
-
/* Define if `sys_siglist' is declared by <signal.h>. */
#undef SYS_SIGLIST_DECLARED
#undef config_machfile
#include config_machfile
-/* These typedefs shouldn't appear when alloca.s or Makefile.in
- includes config.h. */
-#ifndef NOT_C_CODE
-#ifndef SPECIAL_EMACS_INT
-typedef long EMACS_INT;
-typedef unsigned long EMACS_UINT;
-#endif
-#endif
-
/* Load in the conversion definitions if this system
needs them and the source file being compiled has not
said to inhibit this. There should be no need for you
#endif /* not NO_SHORTNAMES */
#endif /* SHORTNAMES */
+/* If no remapping takes place, static variables cannot be dumped as
+ pure, so don't worry about the `static' keyword. */
+#ifdef NO_REMAP
+#undef static
+#endif
+
/* Define `subprocesses' should be defined if you want to
have code for asynchronous subprocesses
(as used in M-x compile and M-x shell).
#define SIGTYPE RETSIGTYPE
#endif
+#ifdef emacs /* Don't do this for lib-src. */
+/* Tell regex.c to use a type compatible with Emacs. */
+#define RE_TRANSLATE_TYPE Lisp_Object
+#define RE_TRANSLATE(TBL, C) XINT (Faref (TBL, make_number (C)))
+#endif
+
+/* Avoid link-time collision with system mktime if we will use our own. */
+#if ! HAVE_MKTIME || BROKEN_MKTIME
+#define mktime emacs_mktime
+#endif
+
/* The rest of the code currently tests the CPP symbol BSTRING.
Override any claims made by the system-description files.
Note that on some SCO version it is possible to have bcopy and not bcmp. */
#endif
#endif /* EMACS_CONFIG_H */
+
+/* These default definitions are good for almost all machines.
+ The exceptions override them in m/MACHINE.h. */
+
+#ifndef BITS_PER_CHAR
+#define BITS_PER_CHAR 8
+#endif
+
+#ifndef BITS_PER_SHORT
+#define BITS_PER_SHORT 16
+#endif
+
+/* Note that lisp.h uses this in a preprocessor conditional, so it
+ would not work to use sizeof. That being so, we do all of them
+ without sizeof, for uniformity's sake. */
+#ifndef BITS_PER_INT
+#define BITS_PER_INT 32
+#endif
+
+#ifndef BITS_PER_LONG
+#define BITS_PER_LONG 32
+#endif
+
+#ifdef HAVE_STRING_H
+#include "string.h"
+#endif