/* GNU Emacs site configuration template file. -*- C -*-
- Copyright (C) 1988 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1993, 1994 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 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
#define EMACS_CONFIG_H
+/* These are all defined in the top-level Makefile by configure.
+ They're here only for reference. */
+
+/* Define LISP_FLOAT_TYPE if you want emacs to support floating-point
+ numbers. */
+#undef LISP_FLOAT_TYPE
+
+/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
+#undef GNU_MALLOC
+
+/* Define REL_ALLOC if you want to use the relocating allocator for
+ buffer space. */
+#undef REL_ALLOC
+
/* Define HAVE_X_WINDOWS if you want to use the X window system. */
-/* #define HAVE_X_WINDOWS */
+#undef HAVE_X_WINDOWS
/* Define HAVE_X11 if you want to use version 11 of X windows.
Otherwise, Emacs expects to use version 10. */
-/* #define HAVE_X11 */
+#undef HAVE_X11
-/* 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. */
-/* #define HAVE_X_MENU */
+/* Define if using an X toolkit. */
+#undef USE_X_TOOLKIT
-/* If we're using any sort of window system, define MULTI_FRAME. */
-#ifdef HAVE_X_WINDOWS
+/* Define this if you're using XFree386. */
+#undef HAVE_XFREE386
+
+/* 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 HAVE_WINDOW_SYSTEM
+#define MULTI_KBOARD
+#define HAVE_FACES
+#define HAVE_MOUSE
#endif
/* Define USE_TEXT_PROPERTIES to support visual and other properties
the user's full name. If neither this nor any other
field contains the right thing, use pw_name,
giving the user's login name, since that is better than nothing. */
-
#define USER_FULL_NAME pw->pw_gecos
/* Define AMPERSAND_FULL_NAME if you use the convention
that & in the full name stands for the login id. */
+#undef AMPERSAND_FULL_NAME
-/* #define AMPERSAND_FULL_NAME */
+/* Things set by --with options in the configure script. */
-/* Define LISP_FLOAT_TYPE if you want emacs to support floating-point
- numbers. */
-/* #define LISP_FLOAT_TYPE */
+/* Define to support POP mail retrieval. */
+#undef MAIL_USE_POP
-/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
-/* #define GNU_MALLOC */
+/* Define to support Kerberos-authenticated POP mail retrieval. */
+#undef KERBEROS
-/* Define REL_ALLOC if you want to use the relocating allocator for
- buffer space. */
-/* #define REL_ALLOC */
-
-/* Define this macro if you want to use 16-bit GLYPHs. Currently this
- option isn't terribly useful (the current distribution doesn't
- support large characters in buffer text), so the configuration
- script doesn't provide an option to select it.
-
- A character is displayed on a given terminal by means of a sequence
- of one or more GLYPHs. A GLYPH is something that takes up exactly
- one display position on the frame.
-
- Emacs can use 8-bit or 16-bit values to represent GLYPHs. Under X
- windows, 16-bit GLYPHs allow you to display characters from fonts
- too large to be indexed by 8 bits alone, but drawing with 16-bit GLYPHs
- is usually quite a bit slower than drawing with 8-bit GLYPHs. */
-/* #define GLYPH_16_BIT */
-
-#ifdef GLYPH_16_BIT
-#define GLYPH unsigned short
-#else
-#define GLYPH unsigned char
+/* 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
+#undef HAVE_CLOSEDIR
+
+#undef TM_IN_SYS_TIME
+#undef HAVE_TM_ZONE
+#undef HAVE_TZNAME
+
+#undef const
+
+#undef HAVE_LONG_FILE_NAMES
+
+#undef CRAY_STACKSEG_END
+
+#undef UNEXEC_SRC
+
+#undef HAVE_LIBXBSD
+#undef HAVE_XRMSETDATABASE
+#undef HAVE_XSCREENRESOURCESTRING
+#undef HAVE_XSCREENNUMBEROFSCREEN
+#undef HAVE_XSETWMPROTOCOLS
+
+#undef HAVE_MKDIR
+#undef HAVE_RMDIR
+#undef HAVE_RANDOM
+#undef HAVE_LRAND48
+#undef HAVE_BCOPY
+#undef HAVE_BCMP
+#undef HAVE_LOGB
+#undef HAVE_FREXP
+#undef HAVE_FMOD
+#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_GETPAGESIZE
+#undef HAVE_INET_SOCKETS
+
+#undef HAVE_AIX_SMT_EXP
+
+/* Define if you have the ANSI `strerror' function.
+ 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
#endif
-/* The configuration script replaces the string @opsystem@ with the
- name of the s/*.h file that describes the system type you are
- using; an option of the form "-opsystem=OPSYS" says to use
- "s/OPSYS.h". See the file ../etc/MACHINES for a list of systems
- and the -opsystem flags to use for them.
- See s/template.h for documentation on writing s/*.h files. */
-#include "@opsystem@"
+#undef EMACS_CONFIGURATION
-/* The configuration script replaces the string @machine@ with the
- name of the m/*.h file that describes the machine you are
- using; an option of the form "-machine=MACH" says to use
- "m/MACH.h". See the file ../etc/MACHINES for a list of machines
- and the -machine flags to use for them.
- See m/template.h for documentation on writing m/*.h files. */
-#include "@machine@"
+#undef EMACS_CONFIG_OPTIONS
-/* Some s- files may define SYSTEM_MALLOC, in which case make sure
- we don't use REL_ALLOC. */
+/* The configuration script defines opsysfile to be the name of the
+ s/SYSTEM.h file that describes the system type you are using. The file
+ is chosen based on the configuration name you give.
-#ifdef SYSTEM_MALLOC
-#ifdef GNU_MALLOC
-#undef GNU_MALLOC
-#ifdef REL_ALLOC
-#undef REL_ALLOC
-#endif
-#endif
-#endif
+ 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/SYSTEM.h files. */
+#undef config_opsysfile
+#include config_opsysfile
+
+/* 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
+ 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/MACHINE.h files. */
+#undef config_machfile
+#include config_machfile
/* Load in the conversion definitions if this system
needs them and the source file being compiled has not
#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
#endif
/* Define LD_SWITCH_SITE to contain any special flags your loader may need. */
-/* #define LD_SWITCH_SITE */
+#undef LD_SWITCH_SITE
/* Define C_SWITCH_SITE to contain any special flags your compiler needs. */
-/* #define C_SWITCH_SITE */
+#undef C_SWITCH_SITE
/* 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
HAVE_X_WINDOWS above and your X libraries aren't in a place that
your loader can find on its own, you might want to add "-L/..." or
something similar. */
-/* #define LD_SWITCH_X_SITE */
+#undef LD_SWITCH_X_SITE
+
+/* Define LD_SWITCH_X_SITE_AUX with an -R option
+ in case it's needed (for Solaris, for example). */
+#undef LD_SWITCH_X_SITE_AUX
/* Define C_SWITCH_X_SITE to contain any special flags your compiler
may need to deal with X Windows. For instance, if you've defined
HAVE_X_WINDOWS above and your X include files aren't in a place
that your compiler can find on its own, you might want to add
"-I/..." or something similar. */
-/* #define C_SWITCH_X_SITE */
+#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
+
+/* SIGTYPE is the macro we actually use. */
#ifndef SIGTYPE
-#define SIGTYPE void
+#define SIGTYPE RETSIGTYPE
#endif
-/* If it doesn't seem that the compiler we're using supports the
- `const' qualifier, then the `configure' script will remove this
- line. Some of the files that Emacs shares with other applications
- (regex.h, getdate.y, etcetera) assume that const is defined. The
- rule seems to be that if a system has a config.h file, that file
- should take care of #defining const away if necessary. */
-#define HAVE_CONST
+#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
-#ifndef HAVE_CONST
-#define const
+/* 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. */
+#undef BSTRING
+#if defined (HAVE_BCOPY) && defined (HAVE_BCMP)
+#define BSTRING
#endif
-/* Non-ANSI C compilers don't have volatile. */
+/* Non-ANSI C compilers usually don't have volatile. */
+#ifndef HAVE_VOLATILE
#ifndef __STDC__
#define volatile
#endif
+#endif
-#ifndef THIS_IS_YMAKEFILE
/* 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. */
+ the type of getenv.
+
+ This declaration shouldn't appear when alloca.s or Makefile.in
+ includes config.h. */
+#ifndef NOT_C_CODE
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