| 1 | /* GNU Emacs site configuration template file. -*- C -*- |
| 2 | Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc. |
| 3 | |
| 4 | This file is part of GNU Emacs. |
| 5 | |
| 6 | GNU Emacs is free software; you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 2, or (at your option) |
| 9 | any later version. |
| 10 | |
| 11 | GNU Emacs is distributed in the hope that it will be useful, |
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | GNU General Public License for more details. |
| 15 | |
| 16 | You should have received a copy of the GNU General Public License |
| 17 | along with GNU Emacs; see the file COPYING. If not, write to |
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ |
| 19 | |
| 20 | |
| 21 | /* No code in Emacs #includes config.h twice, but some of the code |
| 22 | intended to work with other packages as well (like gmalloc.c) |
| 23 | think they can include it as many times as they like. */ |
| 24 | #ifndef EMACS_CONFIG_H |
| 25 | #define EMACS_CONFIG_H |
| 26 | |
| 27 | |
| 28 | /* These are all defined in the top-level Makefile by configure. |
| 29 | They're here only for reference. */ |
| 30 | |
| 31 | /* Define LISP_FLOAT_TYPE if you want emacs to support floating-point |
| 32 | numbers. */ |
| 33 | #undef LISP_FLOAT_TYPE |
| 34 | |
| 35 | /* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */ |
| 36 | #undef GNU_MALLOC |
| 37 | |
| 38 | /* Define REL_ALLOC if you want to use the relocating allocator for |
| 39 | buffer space. */ |
| 40 | #undef REL_ALLOC |
| 41 | |
| 42 | /* Define HAVE_X_WINDOWS if you want to use the X window system. */ |
| 43 | #undef HAVE_X_WINDOWS |
| 44 | |
| 45 | /* Define HAVE_X11 if you want to use version 11 of X windows. |
| 46 | Otherwise, Emacs expects to use version 10. */ |
| 47 | #undef HAVE_X11 |
| 48 | |
| 49 | /* Define if using an X toolkit. */ |
| 50 | #undef USE_X_TOOLKIT |
| 51 | |
| 52 | /* Define this if you're using XFree386. */ |
| 53 | #undef HAVE_XFREE386 |
| 54 | |
| 55 | /* Define HAVE_MENUS if you have mouse menus. |
| 56 | (This is automatic if you use X, but the option to specify it remains.) |
| 57 | It is also defined with other window systems that support xmenu.c. */ |
| 58 | #undef HAVE_MENUS |
| 59 | |
| 60 | /* Define if we have the X11R6 or newer version of Xt. */ |
| 61 | #undef HAVE_X11XTR6 |
| 62 | |
| 63 | /* Define if we have the X11R6 or newer version of Xlib. */ |
| 64 | #undef HAVE_X11R6 |
| 65 | |
| 66 | /* Define if netdb.h declares h_errno. */ |
| 67 | #undef HAVE_H_ERRNO |
| 68 | |
| 69 | /* Nowadays we have frame objects even if we support only ASCII terminals. */ |
| 70 | #define MULTI_FRAME |
| 71 | |
| 72 | /* If we're using any sort of window system, define some consequences. */ |
| 73 | #ifdef HAVE_X_WINDOWS |
| 74 | #define HAVE_WINDOW_SYSTEM |
| 75 | #define MULTI_KBOARD |
| 76 | #define HAVE_FACES |
| 77 | #define HAVE_MOUSE |
| 78 | #endif |
| 79 | |
| 80 | /* Define USE_TEXT_PROPERTIES to support visual and other properties |
| 81 | on text. */ |
| 82 | #define USE_TEXT_PROPERTIES |
| 83 | |
| 84 | /* Define USER_FULL_NAME to return a string |
| 85 | that is the user's full name. |
| 86 | It can assume that the variable `pw' |
| 87 | points to the password file entry for this user. |
| 88 | |
| 89 | At some sites, the pw_gecos field contains |
| 90 | the user's full name. If neither this nor any other |
| 91 | field contains the right thing, use pw_name, |
| 92 | giving the user's login name, since that is better than nothing. */ |
| 93 | #define USER_FULL_NAME pw->pw_gecos |
| 94 | |
| 95 | /* Define AMPERSAND_FULL_NAME if you use the convention |
| 96 | that & in the full name stands for the login id. */ |
| 97 | #undef AMPERSAND_FULL_NAME |
| 98 | |
| 99 | /* Things set by --with options in the configure script. */ |
| 100 | |
| 101 | /* Define to support POP mail retrieval. */ |
| 102 | #undef MAIL_USE_POP |
| 103 | |
| 104 | /* Define to support Kerberos-authenticated POP mail retrieval. */ |
| 105 | #undef KERBEROS |
| 106 | |
| 107 | /* Define to support using a Hesiod database to find the POP server. */ |
| 108 | #undef HESIOD |
| 109 | |
| 110 | /* Some things figured out by the configure script, grouped as they are in |
| 111 | configure.in. */ |
| 112 | #ifndef _ALL_SOURCE /* suppress warning if this is pre-defined */ |
| 113 | #undef _ALL_SOURCE |
| 114 | #endif |
| 115 | #undef HAVE_SYS_SELECT_H |
| 116 | #undef HAVE_SYS_TIMEB_H |
| 117 | #undef HAVE_SYS_TIME_H |
| 118 | #undef HAVE_UNISTD_H |
| 119 | #undef HAVE_UTIME_H |
| 120 | #undef STDC_HEADERS |
| 121 | #undef TIME_WITH_SYS_TIME |
| 122 | |
| 123 | #undef HAVE_LIBDNET |
| 124 | #undef HAVE_LIBPTHREADS |
| 125 | #undef HAVE_LIBRESOLV |
| 126 | #undef HAVE_LIBXMU |
| 127 | |
| 128 | #undef HAVE_ALLOCA_H |
| 129 | |
| 130 | #undef HAVE_GETTIMEOFDAY |
| 131 | #undef GETTIMEOFDAY_ONE_ARGUMENT |
| 132 | #undef HAVE_GETHOSTNAME |
| 133 | #undef HAVE_DUP2 |
| 134 | #undef HAVE_RENAME |
| 135 | #undef HAVE_CLOSEDIR |
| 136 | |
| 137 | #undef TM_IN_SYS_TIME |
| 138 | #undef HAVE_TM_ZONE |
| 139 | #undef HAVE_TZNAME |
| 140 | |
| 141 | #undef const |
| 142 | |
| 143 | #undef HAVE_LONG_FILE_NAMES |
| 144 | |
| 145 | #undef CRAY_STACKSEG_END |
| 146 | |
| 147 | #undef UNEXEC_SRC |
| 148 | |
| 149 | #undef HAVE_LIBXBSD |
| 150 | #undef HAVE_XRMSETDATABASE |
| 151 | #undef HAVE_XSCREENRESOURCESTRING |
| 152 | #undef HAVE_XSCREENNUMBEROFSCREEN |
| 153 | #undef HAVE_XSETWMPROTOCOLS |
| 154 | |
| 155 | #undef HAVE_MKDIR |
| 156 | #undef HAVE_RMDIR |
| 157 | #undef HAVE_RANDOM |
| 158 | #undef HAVE_LRAND48 |
| 159 | #undef HAVE_BCOPY |
| 160 | #undef HAVE_BCMP |
| 161 | #undef HAVE_LOGB |
| 162 | #undef HAVE_FREXP |
| 163 | #undef HAVE_FMOD |
| 164 | #undef HAVE_FTIME |
| 165 | #undef HAVE_RES_INIT /* For -lresolv on Suns. */ |
| 166 | #undef HAVE_SETSID |
| 167 | #undef HAVE_FPATHCONF |
| 168 | #undef HAVE_SELECT |
| 169 | #undef HAVE_MKTIME |
| 170 | #undef HAVE_EACCESS |
| 171 | #undef HAVE_GETPAGESIZE |
| 172 | #undef HAVE_INET_SOCKETS |
| 173 | |
| 174 | #undef HAVE_AIX_SMT_EXP |
| 175 | |
| 176 | /* Define if you have the ANSI `strerror' function. |
| 177 | Otherwise you must have the variable `char *sys_errlist[]'. */ |
| 178 | #undef HAVE_STRERROR |
| 179 | |
| 180 | #undef HAVE_UTIMES |
| 181 | |
| 182 | /* Define if `sys_siglist' is declared by <signal.h>. */ |
| 183 | #undef SYS_SIGLIST_DECLARED |
| 184 | |
| 185 | /* Define if `struct utimbuf' is declared by <utime.h>. */ |
| 186 | #undef HAVE_STRUCT_UTIMBUF |
| 187 | |
| 188 | /* Define if `struct timeval' is declared by <sys/time.h>. */ |
| 189 | #undef HAVE_TIMEVAL |
| 190 | |
| 191 | /* If using GNU, then support inline function declarations. */ |
| 192 | #ifdef __GNUC__ |
| 193 | #define INLINE __inline__ |
| 194 | #else |
| 195 | #define INLINE |
| 196 | #endif |
| 197 | |
| 198 | #undef EMACS_CONFIGURATION |
| 199 | |
| 200 | #undef EMACS_CONFIG_OPTIONS |
| 201 | |
| 202 | /* The configuration script defines opsysfile to be the name of the |
| 203 | s/SYSTEM.h file that describes the system type you are using. The file |
| 204 | is chosen based on the configuration name you give. |
| 205 | |
| 206 | See the file ../etc/MACHINES for a list of systems and the |
| 207 | configuration names to use for them. |
| 208 | |
| 209 | See s/template.h for documentation on writing s/SYSTEM.h files. */ |
| 210 | #undef config_opsysfile |
| 211 | #include config_opsysfile |
| 212 | |
| 213 | /* The configuration script defines machfile to be the name of the |
| 214 | m/MACHINE.h file that describes the machine you are using. The file is |
| 215 | chosen based on the configuration name you give. |
| 216 | |
| 217 | See the file ../etc/MACHINES for a list of machines and the |
| 218 | configuration names to use for them. |
| 219 | |
| 220 | See m/template.h for documentation on writing m/MACHINE.h files. */ |
| 221 | #undef config_machfile |
| 222 | #include config_machfile |
| 223 | |
| 224 | /* Load in the conversion definitions if this system |
| 225 | needs them and the source file being compiled has not |
| 226 | said to inhibit this. There should be no need for you |
| 227 | to alter these lines. */ |
| 228 | |
| 229 | #ifdef SHORTNAMES |
| 230 | #ifndef NO_SHORTNAMES |
| 231 | #include "../shortnames/remap.h" |
| 232 | #endif /* not NO_SHORTNAMES */ |
| 233 | #endif /* SHORTNAMES */ |
| 234 | |
| 235 | /* If no remapping takes place, static variables cannot be dumped as |
| 236 | pure, so don't worry about the `static' keyword. */ |
| 237 | #ifdef NO_REMAP |
| 238 | #undef static |
| 239 | #endif |
| 240 | |
| 241 | /* Define `subprocesses' should be defined if you want to |
| 242 | have code for asynchronous subprocesses |
| 243 | (as used in M-x compile and M-x shell). |
| 244 | These do not work for some USG systems yet; |
| 245 | for the ones where they work, the s/SYSTEM.h file defines this flag. */ |
| 246 | |
| 247 | #ifndef VMS |
| 248 | #ifndef USG |
| 249 | /* #define subprocesses */ |
| 250 | #endif |
| 251 | #endif |
| 252 | |
| 253 | /* Define LD_SWITCH_SITE to contain any special flags your loader may need. */ |
| 254 | #undef LD_SWITCH_SITE |
| 255 | |
| 256 | /* Define C_SWITCH_SITE to contain any special flags your compiler needs. */ |
| 257 | #undef C_SWITCH_SITE |
| 258 | |
| 259 | /* Define LD_SWITCH_X_SITE to contain any special flags your loader |
| 260 | may need to deal with X Windows. For instance, if you've defined |
| 261 | HAVE_X_WINDOWS above and your X libraries aren't in a place that |
| 262 | your loader can find on its own, you might want to add "-L/..." or |
| 263 | something similar. */ |
| 264 | #undef LD_SWITCH_X_SITE |
| 265 | |
| 266 | /* Define LD_SWITCH_X_SITE_AUX with an -R option |
| 267 | in case it's needed (for Solaris, for example). */ |
| 268 | #undef LD_SWITCH_X_SITE_AUX |
| 269 | |
| 270 | /* Define C_SWITCH_X_SITE to contain any special flags your compiler |
| 271 | may need to deal with X Windows. For instance, if you've defined |
| 272 | HAVE_X_WINDOWS above and your X include files aren't in a place |
| 273 | that your compiler can find on its own, you might want to add |
| 274 | "-I/..." or something similar. */ |
| 275 | #undef C_SWITCH_X_SITE |
| 276 | |
| 277 | /* Define STACK_DIRECTION here, but not if m/foo.h did. */ |
| 278 | #ifndef STACK_DIRECTION |
| 279 | #undef STACK_DIRECTION |
| 280 | #endif |
| 281 | |
| 282 | /* Define the return type of signal handlers if the s-xxx file |
| 283 | did not already do so. */ |
| 284 | #define RETSIGTYPE void |
| 285 | |
| 286 | /* SIGTYPE is the macro we actually use. */ |
| 287 | #ifndef SIGTYPE |
| 288 | #define SIGTYPE RETSIGTYPE |
| 289 | #endif |
| 290 | |
| 291 | #ifdef emacs /* Don't do this for lib-src. */ |
| 292 | /* Tell regex.c to use a type compatible with Emacs. */ |
| 293 | #define RE_TRANSLATE_TYPE Lisp_Object * |
| 294 | #endif |
| 295 | |
| 296 | /* The rest of the code currently tests the CPP symbol BSTRING. |
| 297 | Override any claims made by the system-description files. |
| 298 | Note that on some SCO version it is possible to have bcopy and not bcmp. */ |
| 299 | #undef BSTRING |
| 300 | #if defined (HAVE_BCOPY) && defined (HAVE_BCMP) |
| 301 | #define BSTRING |
| 302 | #endif |
| 303 | |
| 304 | /* Non-ANSI C compilers usually don't have volatile. */ |
| 305 | #ifndef HAVE_VOLATILE |
| 306 | #ifndef __STDC__ |
| 307 | #define volatile |
| 308 | #endif |
| 309 | #endif |
| 310 | |
| 311 | /* Some of the files of Emacs which are intended for use with other |
| 312 | programs assume that if you have a config.h file, you must declare |
| 313 | the type of getenv. |
| 314 | |
| 315 | This declaration shouldn't appear when alloca.s or Makefile.in |
| 316 | includes config.h. */ |
| 317 | #ifndef NOT_C_CODE |
| 318 | extern char *getenv (); |
| 319 | #endif |
| 320 | |
| 321 | #endif /* EMACS_CONFIG_H */ |
| 322 | |
| 323 | /* These default definitions are good for almost all machines. |
| 324 | The exceptions override them in m/*.h. */ |
| 325 | |
| 326 | #ifndef BITS_PER_CHAR |
| 327 | #define BITS_PER_CHAR 8 |
| 328 | #endif |
| 329 | |
| 330 | #ifndef BITS_PER_SHORT |
| 331 | #define BITS_PER_SHORT 16 |
| 332 | #endif |
| 333 | |
| 334 | /* Note that lisp.h uses this in a preprocessor conditional, so it |
| 335 | would not work to use sizeof. That being so, we do all of them |
| 336 | without sizeof, for uniformity's sake. */ |
| 337 | #ifndef BITS_PER_INT |
| 338 | #define BITS_PER_INT 32 |
| 339 | #endif |
| 340 | |
| 341 | #ifndef BITS_PER_LONG |
| 342 | #define BITS_PER_LONG 32 |
| 343 | #endif |