]> code.delx.au - gnu-emacs/blobdiff - nt/config.nt
Cleanup setup of gl_state in various parts of the code.
[gnu-emacs] / nt / config.nt
index 377fc6f935bf2c6034101ea9991da635c506d3d9..f000d53e4128dc011eda14d1d9470fb102d93e96 100644 (file)
@@ -1,31 +1,29 @@
 /* GNU Emacs site configuration template file.  -*- C -*-
-   Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc.
+   Copyright (C) 1988, 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006,
+     2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 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 3 of the License, 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.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
 /* No code in Emacs #includes config.h twice, but some of the code
-   intended to work with other packages as well (like gmalloc.c) 
+   intended to work with other packages as well (like gmalloc.c)
    think they can include it as many times as they like.  */
 #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.  */
 
@@ -33,13 +31,23 @@ and this notice must be preserved on all copies.  */
    numbers. */
 #undef LISP_FLOAT_TYPE
 
-/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
-#undef GNU_MALLOC
+/* Define GNU_MALLOC if you want to use the GNU memory allocator. */
+#define 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 REL_ALLOC
+
+/* Enable conservative stack marking for GC.  */
+#define GC_MARK_STACK 1
+
+/* MSVC ignores the "register" keyword, so test fails even though
+   setjmp does work.  */
+#define GC_SETJMP_WORKS 1
+
 /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
 #undef HAVE_X_WINDOWS
 
@@ -53,24 +61,26 @@ and this notice must be preserved on all copies.  */
 /* 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 netdb.h declares h_errno.  */
 #undef HAVE_H_ERRNO
 
-/* Nowadays we have frame objects even if we support only ASCII terminals.  */
-#define MULTI_FRAME
-
 /* If we're using any sort of window system, define some consequences.  */
 #ifdef HAVE_X_WINDOWS
-#define MULTI_KBOARD
-#define HAVE_FACES
+#define HAVE_WINDOW_SYSTEM
 #define HAVE_MOUSE
 #endif
 
@@ -100,6 +110,10 @@ and this notice must be preserved on all copies.  */
 
 /* Define to support Kerberos-authenticated POP mail retrieval.  */
 #undef KERBEROS
+/* Define to use Kerberos 5 instead of Kerberos 4 */
+#undef KERBEROS5
+/* Define to support GSS-API in addition to (or instead of) Kerberos */
+#undef GSSAPI
 
 /* Define to support using a Hesiod database to find the POP server.  */
 #undef HESIOD
@@ -114,16 +128,64 @@ and this notice must be preserved on all copies.  */
 #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 HAVE_STRINGS_H
+#undef HAVE_STDLIB_H
+#undef HAVE_PWD_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
+
+/* GSS-API libraries and headers */
+#undef HAVE_LIBGSSAPI_KRB5
+#undef HAVE_LIBGSSAPI
+#undef HAVE_GSSAPI_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
@@ -138,8 +200,6 @@ and this notice must be preserved on all copies.  */
 
 #undef CRAY_STACKSEG_END
 
-#undef UNEXEC_SRC
-
 #undef HAVE_LIBXBSD
 #undef HAVE_XRMSETDATABASE
 #undef HAVE_XSCREENRESOURCESTRING
@@ -148,6 +208,7 @@ and this notice must be preserved on all copies.  */
 
 #undef HAVE_MKDIR
 #undef HAVE_RMDIR
+#undef HAVE_SYSINFO
 #undef HAVE_RANDOM
 #undef HAVE_LRAND48
 #undef HAVE_BCOPY
@@ -155,14 +216,39 @@ and this notice must be preserved on all copies.  */
 #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_GET_CURRENT_DIR_NAME
+#undef HAVE_TZSET
+#undef HAVE_SETLOCALE
+#undef HAVE_UTIMES
+#undef HAVE_SETRLIMIT
+#undef HAVE_SETPGID
+#undef HAVE_GETCWD
+#undef HAVE_SHUTDOWN
+#undef HAVE_STRFTIME
+/* Standard Windows strftime does not support POSIX.2 extensions.  */
+#define STRFTIME_NO_POSIX2 1
+
+#define HAVE_SENDTO 1
+#define HAVE_RECVFROM 1
+#define HAVE_GETSOCKOPT 1
+#define HAVE_SETSOCKOPT 1
+#define HAVE_GETSOCKNAME 1
+#define HAVE_GETPEERNAME 1
+#define HAVE_LANGINFO_CODESET 1
+/* Local (unix) sockets are not supported.  */
+#undef HAVE_SYS_UN_H
+
+#define LOCALTIME_CACHE
 #undef HAVE_INET_SOCKETS
 
 #undef HAVE_AIX_SMT_EXP
@@ -171,8 +257,6 @@ and this notice must be preserved on all copies.  */
    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
 
@@ -182,6 +266,12 @@ and this notice must be preserved on all copies.  */
 /* Define if `struct timeval' is declared by <sys/time.h>.  */
 #undef HAVE_TIMEVAL
 
+/* Define to 1 if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the `getopt_long_only' function. */
+#undef HAVE_GETOPT_LONG_ONLY
+
 /* If using GNU, then support inline function declarations. */
 #ifdef __GNUC__
 #define INLINE __inline__
@@ -201,8 +291,8 @@ and this notice must be preserved on all copies.  */
    configuration names to use for them.
 
    See s/template.h for documentation on writing s/SYSTEM.h files.  */
-#undef config_opsysfile 
-#include "s/windowsnt.h"
+#undef config_opsysfile
+#include "s/ms-w32.h"
 
 /* The configuration script defines machfile to be the name of the
    m/MACHINE.h file that describes the machine you are using.  The file is
@@ -215,26 +305,6 @@ and this notice must be preserved on all copies.  */
 #undef config_machfile
 #include "m/intel386.h"
 
-/* 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
-   to alter these lines.  */
-
-#ifdef SHORTNAMES
-#ifndef NO_SHORTNAMES
-#include "../shortnames/remap.h"
-#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
@@ -244,20 +314,9 @@ typedef unsigned long EMACS_UINT;
 /* Define `subprocesses' should be defined if you want to
    have code for asynchronous subprocesses
    (as used in M-x compile and M-x shell).
-   These do not work for some USG systems yet;
-   for the ones where they work, the s/SYSTEM.h file defines this flag.  */
-
-#ifndef VMS
-#ifndef USG
-/* #define subprocesses */
-#endif
-#endif
+   Only MSDOS does not support this.  */
 
-/* Define LD_SWITCH_SITE to contain any special flags your loader may need.  */
-#undef LD_SWITCH_SITE
-
-/* Define C_SWITCH_SITE to contain any special flags your compiler needs.  */
-#undef C_SWITCH_SITE
+#define subprocesses
 
 /* Define LD_SWITCH_X_SITE to contain any special flags your loader
    may need to deal with X Windows.  For instance, if you've defined
@@ -291,6 +350,20 @@ typedef unsigned long EMACS_UINT;
 #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) CHAR_TABLE_TRANSLATE (TBL, C)
+#define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0)
+#endif
+
+/* Avoid link-time collision with system mktime if we will use our own.  */
+#if ! HAVE_MKTIME || BROKEN_MKTIME
+#define mktime emacs_mktime
+#endif
+
+#define my_strftime nstrftime   /* for strftime.c */
+
 /* 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.  */
@@ -306,6 +379,7 @@ typedef unsigned long EMACS_UINT;
 #endif
 #endif
 
+#ifndef WINDOWSNT
 /* Some of the files of Emacs which are intended for use with other
    programs assume that if you have a config.h file, you must declare
    the type of getenv.
@@ -315,5 +389,83 @@ typedef unsigned long EMACS_UINT;
 #ifndef NOT_C_CODE
 extern char *getenv ();
 #endif
+#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
+
+#ifndef POINTER_TYPE
+#define POINTER_TYPE void
+#endif
+
+#ifndef PROTOTYPES
+#define PROTOTYPES 1
+#endif
+
+#ifndef __P
+#if defined PROTOTYPES
+#define __P(args) args
+#else
+#define __P(args) ()
+#endif
+#endif
+
+/* Don't include <string.h> during configure.  */
+#ifndef NOT_C_CODE
+#ifdef HAVE_STRING_H
+#include "string.h"
+#endif
+#ifdef HAVE_STRINGS_H
+#include "strings.h"
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#endif
+
+#ifndef NO_RETURN
+#if defined __GNUC__ && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR >= 5))
+#define NO_RETURN      __attribute__ ((__noreturn__))
+#else
+#define NO_RETURN      /* nothing */
+#endif
+#endif
+
+/* Redefine abort.  */
+#ifndef NOT_C_CODE
+#ifdef HAVE_NTGUI
+#define abort  w32_abort
+void w32_abort (void) NO_RETURN;
+#endif
+#endif
+
+/* Prevent accidental use of features unavailable in
+   older Windows versions we still support.  */
+#define _WIN32_WINNT 0x0400
+
+/* Make a leaner executable.  */
+#define WIN32_LEAN_AND_MEAN 1
+
+/* arch-tag: df720992-aa5a-499a-882d-958dc5eeb5e9
+   (do not change this comment) */