config.in 6.58 KB
Newer Older
Jim Blandy's avatar
Jim Blandy committed
1
/* GNU Emacs site configuration template file.  -*- C -*-
Jim Blandy's avatar
Jim Blandy committed
2
   Copyright (C) 1988, 1993 Free Software Foundation, Inc.
Jim Blandy's avatar
Jim Blandy committed
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

This file is part of GNU Emacs.

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.

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.  */


22 23 24 25 26 27
/* No code in Emacs #includes config.h twice, but some of the code
   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

Jim Blandy's avatar
Jim Blandy committed
28

Jim Blandy's avatar
Jim Blandy committed
29 30 31 32 33
/* 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. */
34
#undef LISP_FLOAT_TYPE
Jim Blandy's avatar
Jim Blandy committed
35 36

/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
37
#undef GNU_MALLOC
Jim Blandy's avatar
Jim Blandy committed
38 39 40

/* Define REL_ALLOC if you want to use the relocating allocator for
   buffer space. */
41
#undef REL_ALLOC
Jim Blandy's avatar
Jim Blandy committed
42
  
Jim Blandy's avatar
Jim Blandy committed
43
/* Define HAVE_X_WINDOWS if you want to use the X window system.  */
44
#undef HAVE_X_WINDOWS
Jim Blandy's avatar
Jim Blandy committed
45 46 47

/* Define HAVE_X11 if you want to use version 11 of X windows.
   Otherwise, Emacs expects to use version 10.  */
48
#undef HAVE_X11
Jim Blandy's avatar
Jim Blandy committed
49

Jim Blandy's avatar
Jim Blandy committed
50
/* Define this if you're using XFree386.  */
51
#undef HAVE_XFREE386
Jim Blandy's avatar
Jim Blandy committed
52

Jim Blandy's avatar
Jim Blandy committed
53 54 55
/* 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.  */
56
#undef HAVE_X_MENU
Jim Blandy's avatar
Jim Blandy committed
57

Jim Blandy's avatar
Jim Blandy committed
58
/* If we're using any sort of window system, define MULTI_FRAME.  */
Jim Blandy's avatar
Jim Blandy committed
59
#ifdef HAVE_X_WINDOWS
Jim Blandy's avatar
Jim Blandy committed
60
#define MULTI_FRAME
Jim Blandy's avatar
Jim Blandy committed
61 62
#endif

63 64
/* Define USE_TEXT_PROPERTIES to support visual and other properties
   on text. */
65
#define USE_TEXT_PROPERTIES
66

Jim Blandy's avatar
Jim Blandy committed
67 68 69 70 71 72 73 74 75 76 77 78 79
/* Define USER_FULL_NAME to return a string
   that is the user's full name.
   It can assume that the variable `pw'
   points to the password file entry for this user.

   At some sites, the pw_gecos field contains
   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.  */
80 81 82 83 84 85 86 87 88
#undef AMPERSAND_FULL_NAME

/* Some things figured out by the configure script.  */
#undef HAVE_SYS_TIMEB_H
#undef HAVE_SYS_TIME_H
#undef HAVE_ALLOCA_H
#undef HAVE_GETTIMEOFDAY
#undef HAVE_GETHOSTNAME
#undef HAVE_DUP2
89
#undef HAVE_TM_ZONE
90
#undef TM_IN_SYS_TIME
91 92 93 94
#undef STDC_HEADERS
#undef TIME_WITH_SYS_TIME
#undef CRAY_STACKSEG_END
#undef STACK_DIRECTION
95
#undef const
Jim Blandy's avatar
Jim Blandy committed
96

97 98 99 100 101 102 103
/* If using GNU, then support inline function declarations. */
#ifdef __GNUC__
#define INLINE __inline__
#else
#define INLINE
#endif

104 105 106
/* The configuration script defines opsysfile to be the name of the
   s/*.h file that describes the system type you are using.  The file
   is chosen based on the configuration name you give.
Jim Blandy's avatar
Jim Blandy committed
107 108 109 110

   See the file ../etc/MACHINES for a list of systems and the
   configuration names to use for them.

Jim Blandy's avatar
Jim Blandy committed
111
   See s/template.h for documentation on writing s/*.h files.  */
112 113
#undef config_opsysfile 
#include config_opsysfile
Jim Blandy's avatar
Jim Blandy committed
114

115 116 117
/* The configuration script defines machfile to be the name of the
   m/*.h file that describes the machine you are using.  The file is
   chosen based on the configuration name you give.
Jim Blandy's avatar
Jim Blandy committed
118 119 120 121

   See the file ../etc/MACHINES for a list of machines and the
   configuration names to use for them.

Jim Blandy's avatar
Jim Blandy committed
122
   See m/template.h for documentation on writing m/*.h files.  */
123 124
#undef config_machfile
#include config_machfile
Joseph Arceneaux's avatar
Joseph Arceneaux committed
125

Jim Blandy's avatar
Jim Blandy committed
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
/* 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 */

/* 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;
Jim Blandy's avatar
Jim Blandy committed
141
   for the ones where they work, the s/*.h file defines this flag.  */
Jim Blandy's avatar
Jim Blandy committed
142 143 144 145 146 147 148

#ifndef VMS
#ifndef USG
/* #define subprocesses */
#endif
#endif

149
/* Define LD_SWITCH_SITE to contain any special flags your loader may need.  */
150
#undef LD_SWITCH_SITE
Jim Blandy's avatar
Jim Blandy committed
151

152
/* Define C_SWITCH_SITE to contain any special flags your compiler needs.  */
153
#undef C_SWITCH_SITE
Jim Blandy's avatar
Jim Blandy committed
154

155 156 157 158 159
/* 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.  */
160
#define LD_SWITCH_X_SITE
161 162 163 164 165 166

/* 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.  */
167
#define C_SWITCH_X_SITE
168

Jim Blandy's avatar
Jim Blandy committed
169 170
/* Define the return type of signal handlers if the s-xxx file
   did not already do so.  */
Jim Blandy's avatar
Jim Blandy committed
171
#define RETSIGTYPE void
172

Jim Blandy's avatar
Jim Blandy committed
173 174 175
/* SIGTYPE is the macro we actually use.  */
#ifndef SIGTYPE
#define SIGTYPE RETSIGTYPE
176 177
#endif

178 179
/* Non-ANSI C compilers usually don't have volatile.  */
#ifndef HAVE_VOLATILE
180 181 182
#ifndef __STDC__
#define volatile
#endif
183
#endif
184

Jim Blandy's avatar
Jim Blandy committed
185 186
/* joe@zircon.uucp says that in order to use XFree386, you have to
   link against -lXbsd, which insists on defining the random
187 188 189 190 191
   function.
   faith@cs.unc.edu says this is bogus for Linux and several other OS's.
   Eventually, we should have autoconf test for this.  Anyone want to
   submit a patch?  */
#if defined (HAVE_XFREE386) && !defined (LINUX)
192 193 194 195
#define LIBX11_SYSTEM -lXbsd
#define HAVE_RANDOM
#endif

196 197
/* 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
198 199 200 201 202
   the type of getenv.

   This declaration shouldn't appear when alloca.s or ymakfile
   includes config.h.  */
#ifndef NOT_C_CODE
203 204 205 206
extern char *getenv ();
#endif

#endif /* EMACS_CONFIG_H */