(check_x_display_info, check_x_frame, x_set_font)
[bpt/emacs.git] / src / config.in
index a111c69..e99c84c 100644 (file)
@@ -3,20 +3,19 @@
 
 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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 
 /* No code in Emacs #includes config.h twice, but some of the code
@@ -53,20 +52,29 @@ 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 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
 
-/* If we're using any sort of window system, define MULTI_FRAME.  */
-#ifdef HAVE_X_WINDOWS
+/* 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 HAVE_WINDOW_SYSTEM
+#define MULTI_KBOARD
+#define HAVE_FACES
+#define HAVE_MOUSE
 #endif
 
 /* Define USE_TEXT_PROPERTIES to support visual and other properties
@@ -88,20 +96,39 @@ and this notice must be preserved on all copies.  */
    that & in the full name stands for the login id.  */
 #undef AMPERSAND_FULL_NAME
 
+/* Things set by --with options in the configure script.  */
+
+/* Define to support POP mail retrieval.  */
+#undef MAIL_USE_POP
+
+/* Define to support Kerberos-authenticated POP mail retrieval.  */
+#undef KERBEROS
+
+/* Define to support using a Hesiod database to find the POP server.  */
+#undef HESIOD
+
 /* Some things figured out by the configure script, grouped as they are in
    configure.in.  */
+#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 STDC_HEADERS
 #undef TIME_WITH_SYS_TIME
 
 #undef HAVE_LIBDNET
+#undef HAVE_LIBPTHREADS
 #undef HAVE_LIBRESOLV
+#undef HAVE_LIBXMU
 
 #undef HAVE_ALLOCA_H
 
 #undef HAVE_GETTIMEOFDAY
+#undef GETTIMEOFDAY_ONE_ARGUMENT
 #undef HAVE_GETHOSTNAME
 #undef HAVE_DUP2
 #undef HAVE_RENAME
@@ -116,7 +143,6 @@ and this notice must be preserved on all copies.  */
 #undef HAVE_LONG_FILE_NAMES
 
 #undef CRAY_STACKSEG_END
-#undef STACK_DIRECTION
 
 #undef UNEXEC_SRC
 
@@ -129,7 +155,7 @@ and this notice must be preserved on all copies.  */
 #undef HAVE_MKDIR
 #undef HAVE_RMDIR
 #undef HAVE_RANDOM
-#undef HAVE_RAND48
+#undef HAVE_LRAND48
 #undef HAVE_BCOPY
 #undef HAVE_BCMP
 #undef HAVE_LOGB
@@ -139,7 +165,10 @@ and this notice must be preserved on all copies.  */
 #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_GETPAGESIZE
 #undef HAVE_INET_SOCKETS
 
 #undef HAVE_AIX_SMT_EXP
@@ -148,9 +177,17 @@ 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
 
+/* Define if `struct utimbuf' is declared by <utime.h>.  */
+#undef HAVE_STRUCT_UTIMBUF
+
+/* Define if `struct timeval' is declared by <sys/time.h>.  */
+#undef HAVE_TIMEVAL
+
 /* If using GNU, then support inline function declarations. */
 #ifdef __GNUC__
 #define INLINE __inline__
@@ -160,37 +197,30 @@ and this notice must be preserved on all copies.  */
 
 #undef EMACS_CONFIGURATION
 
+#undef EMACS_CONFIG_OPTIONS
+
 /* The configuration script defines opsysfile to be the name of the
-   s/*.h file that describes the system type you are using.  The file
+   s/SYSTEM.h file that describes the system type you are using.  The file
    is chosen based on the configuration name you give.
 
    See the file ../etc/MACHINES for a list of systems and the
    configuration names to use for them.
 
-   See s/template.h for documentation on writing s/*.h files.  */
+   See s/template.h for documentation on writing s/SYSTEM.h files.  */
 #undef config_opsysfile 
 #include config_opsysfile
 
 /* The configuration script defines machfile to be the name of the
-   m/*.h file that describes the machine you are using.  The file is
+   m/MACHINE.h file that describes the machine you are using.  The file is
    chosen based on the configuration name you give.
 
    See the file ../etc/MACHINES for a list of machines and the
    configuration names to use for them.
 
-   See m/template.h for documentation on writing m/*.h files.  */
+   See m/template.h for documentation on writing m/MACHINE.h files.  */
 #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
@@ -202,11 +232,17 @@ typedef unsigned long EMACS_UINT;
 #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).
    These do not work for some USG systems yet;
-   for the ones where they work, the s/*.h file defines this flag.  */
+   for the ones where they work, the s/SYSTEM.h file defines this flag.  */
 
 #ifndef VMS
 #ifndef USG
@@ -238,6 +274,11 @@ typedef unsigned long EMACS_UINT;
    "-I/..." or something similar.  */
 #undef C_SWITCH_X_SITE
 
+/* Define STACK_DIRECTION here, but not if m/foo.h did.  */
+#ifndef STACK_DIRECTION
+#undef STACK_DIRECTION
+#endif
+
 /* Define the return type of signal handlers if the s-xxx file
    did not already do so.  */
 #define RETSIGTYPE void
@@ -247,6 +288,11 @@ 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 *
+#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.  */
@@ -273,3 +319,25 @@ extern char *getenv ();
 #endif
 
 #endif /* EMACS_CONFIG_H */
+
+/* These default definitions are good for almost all machines.
+   The exceptions override them in m/*.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