1 /* src/config.in. Generated from configure.in by autoheader. */
3 /* GNU Emacs site configuration template file.
4 Copyright (C) 1988, 93, 94, 99, 2000, 2002 Free Software Foundation, Inc.
6 This file is part of GNU Emacs.
8 GNU Emacs is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs; see the file COPYING. If not, write to the
20 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. */
24 /* No code in Emacs #includes config.h twice, but some bits of code
25 intended to work with other packages as well (like gmalloc.c)
26 think they can include it as many times as they like. */
27 #ifndef EMACS_CONFIG_H
28 #define EMACS_CONFIG_H
31 /* Define to 1 if the mktime function is broken. */
34 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
35 systems. This function is required for `alloca.c' support on those systems.
37 #undef CRAY_STACKSEG_END
39 /* Define to 1 if using `alloca.c'. */
42 /* Define to 1 if using `getloadavg.c'. */
45 /* Define C_SWITCH_X_SITE to contain any special flags your compiler may need
46 to deal with X Windows. For instance, if you've defined HAVE_X_WINDOWS
47 above and your X include files aren't in a place that your compiler can
48 find on its own, you might want to add "-I/..." or something similar. */
49 #undef C_SWITCH_X_SITE
51 /* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
54 /* Define to 1 if you are using the GNU C Library. */
55 #undef DOUG_LEA_MALLOC
57 /* Define to the canonical Emacs configuration name. */
58 #undef EMACS_CONFIGURATION
60 /* Define to the options passed to configure. */
61 #undef EMACS_CONFIG_OPTIONS
63 /* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
65 #undef GETLOADAVG_PRIVILEGED
67 /* Define to 1 if the `getpgrp' function requires zero arguments. */
70 /* Define to 1 if gettimeofday accepts only one argument. */
71 #undef GETTIMEOFDAY_ONE_ARGUMENT
73 /* Define to 1 if you want to use the GNU memory allocator. */
76 /* Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists. */
77 #undef HAVE_AIX_SMT_EXP
79 /* Define to 1 if you have the `alarm' function. */
82 /* Define to 1 if you have `alloca', as a function or macro. */
85 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
89 /* Define to 1 if you have the `bcmp' function. */
92 /* Define to 1 if you have the `bcopy' function. */
95 /* Define to 1 if you have the `bzero' function. */
98 /* Define to 1 if you are using the Carbon API on Mac OS X. */
101 /* Define to 1 if you have the `cbrt' function. */
104 /* Define to 1 if you have the `closedir' function. */
107 /* Define to 1 if you have the <coff.h> header file. */
110 /* Define to 1 if you have the <com_err.h> header file. */
111 #undef HAVE_COM_ERR_H
113 /* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
115 #undef HAVE_DECL_SYS_SIGLIST
117 /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you
119 #undef HAVE_DECL___SYS_SIGLIST
121 /* Define to 1 if you have the <des.h> header file. */
124 /* Define to 1 if dynamic ptys are supported. */
127 /* Define to 1 if you have the `dup2' function. */
130 /* Define to 1 if you have the `euidaccess' function. */
131 #undef HAVE_EUIDACCESS
133 /* Define to 1 if you have the <fcntl.h> header file. */
136 /* Define to 1 if you have the `fmod' function. */
139 /* Define to 1 if you have the `fork' function. */
142 /* Define to 1 if you have the `fpathconf' function. */
143 #undef HAVE_FPATHCONF
145 /* Define to 1 if you have the `frexp' function. */
148 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
151 /* Define to 1 if you have the `fsync' function. */
154 /* Define to 1 if you have the `ftime' function. */
157 /* Define to 1 if you have the `gai_strerror' function. */
158 #undef HAVE_GAI_STRERROR
160 /* Define to 1 if you have the `getaddrinfo' function. */
161 #undef HAVE_GETADDRINFO
163 /* Define to 1 if you have the `getcwd' function. */
166 /* Define to 1 if you have the `getdelim' function. */
169 /* Define to 1 if you have the `getdomainname' function. */
170 #undef HAVE_GETDOMAINNAME
172 /* Define to 1 if you have the `gethostname' function. */
173 #undef HAVE_GETHOSTNAME
175 /* Define to 1 if you have the `getline' function. */
178 /* Define to 1 if you have the `getloadavg' function. */
179 #undef HAVE_GETLOADAVG
181 /* Define to 1 if you have the `getpagesize' function. */
182 #undef HAVE_GETPAGESIZE
184 /* Define to 1 if you have the `getpeername' function. */
185 #undef HAVE_GETPEERNAME
187 /* Define to 1 if you have the `getpt' function. */
190 /* Define to 1 if you have the `getsockname' function. */
191 #undef HAVE_GETSOCKNAME
193 /* Define to 1 if you have the `getsockopt' function. */
194 #undef HAVE_GETSOCKOPT
196 /* Define to 1 if you have the `gettimeofday' function. */
197 #undef HAVE_GETTIMEOFDAY
199 /* Define to 1 if you have the `getwd' function. */
202 /* Define to 1 if you have the ungif library (-lungif). */
205 /* Define to 1 if you have the `grantpt' function. */
208 /* Define to 1 if using GTK. */
211 /* Define to 1 if netdb.h declares h_errno. */
214 /* Define to 1 if you have the `index' function. */
217 /* Define to 1 if you have inet sockets. */
218 #undef HAVE_INET_SOCKETS
220 /* Define to 1 if you have the <inttypes.h> header file. */
221 #undef HAVE_INTTYPES_H
223 /* Define to 1 if you have the jpeg library (-ljpeg). */
226 /* Define to 1 if you have the <kerberosIV/des.h> header file. */
227 #undef HAVE_KERBEROSIV_DES_H
229 /* Define to 1 if you have the <kerberosIV/krb.h> header file. */
230 #undef HAVE_KERBEROSIV_KRB_H
232 /* Define to 1 if you have the <kerberos/des.h> header file. */
233 #undef HAVE_KERBEROS_DES_H
235 /* Define to 1 if you have the <kerberos/krb.h> header file. */
236 #undef HAVE_KERBEROS_KRB_H
238 /* Define to 1 if you have the <krb5.h> header file. */
241 /* Define to 1 if you have the <krb.h> header file. */
244 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
245 #undef HAVE_LANGINFO_CODESET
247 /* Define to 1 if you have the `com_err' library (-lcom_err). */
248 #undef HAVE_LIBCOM_ERR
250 /* Define to 1 if you have the `crypto' library (-lcrypto). */
251 #undef HAVE_LIBCRYPTO
253 /* Define to 1 if you have the `des' library (-ldes). */
256 /* Define to 1 if you have the `des425' library (-ldes425). */
257 #undef HAVE_LIBDES425
259 /* Define to 1 if you have the `dgc' library (-ldgc). */
262 /* Define to 1 if you have the `dnet' library (-ldnet). */
265 /* Define to 1 if you have the hesiod library (-lhesiod). */
266 #undef HAVE_LIBHESIOD
268 /* Define to 1 if you have the `intl' library (-lintl). */
271 /* Define to 1 if you have the `k5crypto' library (-lk5crypto). */
272 #undef HAVE_LIBK5CRYPTO
274 /* Define to 1 if you have the `krb' library (-lkrb). */
277 /* Define to 1 if you have the `krb4' library (-lkrb4). */
280 /* Define to 1 if you have the `krb5' library (-lkrb5). */
283 /* Define to 1 if you have the `kstat' library (-lkstat). */
286 /* Define to 1 if you have the `lockfile' library (-llockfile). */
287 #undef HAVE_LIBLOCKFILE
289 /* Define to 1 if you have the `m' library (-lm). */
292 /* Define to 1 if you have the `mail' library (-lmail). */
295 /* Define to 1 if you have the `ncurses' library (-lncurses). */
296 #undef HAVE_LIBNCURSES
298 /* Define to 1 if you have the `pthreads' library (-lpthreads). */
299 #undef HAVE_LIBPTHREADS
301 /* Define to 1 if you have the resolv library (-lresolv). */
302 #undef HAVE_LIBRESOLV
304 /* Define to 1 if you have the `Xext' library (-lXext). */
307 /* Define to 1 if you have the `Xmu' library (-lXmu). */
310 /* Define to 1 if you have the Xp library (-lXp). */
313 /* Define to 1 if you have the <limits.h> header file. */
316 /* Define to 1 if you have the <linux/version.h> header file. */
317 #undef HAVE_LINUX_VERSION_H
319 /* Define to 1 if you have the `logb' function. */
322 /* Define to 1 if you support file names longer than 14 characters. */
323 #undef HAVE_LONG_FILE_NAMES
325 /* Define to 1 if you have the `lrand48' function. */
328 /* Define to 1 if you have the <machine/soundcard.h> header file. */
329 #undef HAVE_MACHINE_SOUNDCARD_H
331 /* Define to 1 if you have the <mach/mach.h> header file. */
332 #undef HAVE_MACH_MACH_H
334 /* Define to 1 if you have the <maillock.h> header file. */
335 #undef HAVE_MAILLOCK_H
337 /* Define to 1 if you have the `mblen' function. */
340 /* Define to 1 if you have the `mbrlen' function. */
343 /* Define to 1 if you have the `mbsinit' function. */
346 /* Define to 1 if you have the `memcmp' function. */
349 /* Define to 1 if you have the `memmove' function. */
352 /* Define to 1 if you have the <memory.h> header file. */
355 /* Define to 1 if you have the `memset' function. */
358 /* Define to 1 if you have mouse menus. (This is automatic if you use X, but
359 the option to specify it remains.) It is also defined with other window
360 systems that support xmenu.c. */
363 /* Define to 1 if you have the `mkdir' function. */
366 /* Define to 1 if you have the `mkstemp' function. */
369 /* Define to 1 if you have the `mktime' function. */
372 /* Define to 1 if you have a working `mmap' system call. */
375 /* Define to 1 if you have Motif 2.1 or newer. */
376 #undef HAVE_MOTIF_2_1
378 /* Define to 1 if you have the `mremap' function. */
381 /* Define to 1 if you have the <nlist.h> header file. */
384 /* Define to 1 if you have the png library (-lpng). */
387 /* Define to 1 if you have the `pstat_getdynamic' function. */
388 #undef HAVE_PSTAT_GETDYNAMIC
390 /* Define to 1 if you have the <pty.h> header file. */
393 /* Define to 1 if you have the `random' function. */
396 /* Define to 1 if you have the `recvfrom' function. */
399 /* Define to 1 if you have the `rename' function. */
402 /* Define to 1 if you have the `res_init' function. */
405 /* Define to 1 if you have the `rindex' function. */
408 /* Define to 1 if you have the `rint' function. */
411 /* Define to 1 if you have the `rmdir' function. */
414 /* Define to 1 if you have the `select' function. */
417 /* Define to 1 if you have the `sendto' function. */
420 /* Define to 1 if you have the `setitimer' function. */
421 #undef HAVE_SETITIMER
423 /* Define to 1 if you have the `setlocale' function. */
424 #undef HAVE_SETLOCALE
426 /* Define to 1 if you have the `setpgid' function. */
429 /* Define to 1 if you have the `setrlimit' function. */
430 #undef HAVE_SETRLIMIT
432 /* Define to 1 if you have the `setsid' function. */
435 /* Define to 1 if you have the `setsockopt' function. */
436 #undef HAVE_SETSOCKOPT
438 /* Define to 1 if you have the `shutdown' function. */
441 /* Define to 1 if the system has the type `size_t'. */
444 /* Define to 1 if you have the <soundcard.h> header file. */
445 #undef HAVE_SOUNDCARD_H
447 /* Define to 1 if `speed_t' is declared by <termios.h>. */
450 /* Define to 1 if you have the <stdint.h> header file. */
453 /* Define to 1 if you have the <stdio_ext.h> header file. */
454 #undef HAVE_STDIO_EXT_H
456 /* Define to 1 if you have the <stdlib.h> header file. */
459 /* Define to 1 if you have the `strerror' function. */
462 /* Define to 1 if you have the `strftime' function. */
465 /* Define to 1 if you have the <strings.h> header file. */
466 #undef HAVE_STRINGS_H
468 /* Define to 1 if you have the <string.h> header file. */
471 /* Define to 1 if you have the `strsignal' function. */
472 #undef HAVE_STRSIGNAL
474 /* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
475 #undef HAVE_STRUCT_NLIST_N_UN_N_NAME
477 /* Define to 1 if `tm_zone' is member of `struct tm'. */
478 #undef HAVE_STRUCT_TM_TM_ZONE
480 /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
481 #undef HAVE_STRUCT_UTIMBUF
483 /* Define to 1 if you have the `sysinfo' function. */
486 /* Define to 1 if you have the <sys/mman.h> header file. */
487 #undef HAVE_SYS_MMAN_H
489 /* Define to 1 if you have the <sys/param.h> header file. */
490 #undef HAVE_SYS_PARAM_H
492 /* Define to 1 if you have the <sys/resource.h> header file. */
493 #undef HAVE_SYS_RESOURCE_H
495 /* Define to 1 if you have the <sys/select.h> header file. */
496 #undef HAVE_SYS_SELECT_H
498 /* Define to 1 if you have the <sys/soundcard.h> header file. */
499 #undef HAVE_SYS_SOUNDCARD_H
501 /* Define to 1 if you have the <sys/stat.h> header file. */
502 #undef HAVE_SYS_STAT_H
504 /* Define to 1 if you have the <sys/systeminfo.h> header file. */
505 #undef HAVE_SYS_SYSTEMINFO_H
507 /* Define to 1 if you have the <sys/timeb.h> header file. */
508 #undef HAVE_SYS_TIMEB_H
510 /* Define to 1 if you have the <sys/time.h> header file. */
511 #undef HAVE_SYS_TIME_H
513 /* Define to 1 if you have the <sys/types.h> header file. */
514 #undef HAVE_SYS_TYPES_H
516 /* Define to 1 if you have the <sys/un.h> header file. */
519 /* Define to 1 if you have the <sys/vlimit.h> header file. */
520 #undef HAVE_SYS_VLIMIT_H
522 /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
523 #undef HAVE_SYS_WAIT_H
525 /* Define to 1 if you have the <termcap.h> header file. */
526 #undef HAVE_TERMCAP_H
528 /* Define to 1 if you have the <termios.h> header file. */
529 #undef HAVE_TERMIOS_H
531 /* Define to 1 if you have the <term.h> header file. */
534 /* Define to 1 if you have the tiff library (-ltiff). */
537 /* Define to 1 if `struct timeval' is declared by <sys/time.h>. */
540 /* Define to 1 if `tm_gmtoff' is member of `struct tm'. */
541 #undef HAVE_TM_GMTOFF
543 /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
544 `HAVE_STRUCT_TM_TM_ZONE' instead. */
547 /* Define to 1 if you have the `touchlock' function. */
548 #undef HAVE_TOUCHLOCK
550 /* Define to 1 if you don't have `tm_zone' but do have the external array
554 /* Define to 1 if you have the `tzset' function. */
557 /* Define to 1 if you have the `ualarm' function. */
560 /* Define to 1 if you have the <unistd.h> header file. */
563 /* Define to 1 if you have the `utimes' function. */
566 /* Define to 1 if you have the <utime.h> header file. */
569 /* Define to 1 if you have the `vfork' function. */
572 /* Define to 1 if you have the <vfork.h> header file. */
575 /* Define to 1 if `fork' works. */
576 #undef HAVE_WORKING_FORK
578 /* Define to 1 if `vfork' works. */
579 #undef HAVE_WORKING_VFORK
581 /* Define to 1 if you want to use version 11 of X windows. Otherwise, Emacs
582 expects to use version 10. */
585 /* Define to 1 if you have the X11R5 or newer version of Xlib. */
588 /* Define to 1 if you have the X11R6 or newer version of Xlib. */
591 /* Define to 1 if you have the X11R6 or newer version of Xt. */
594 /* Define to 1 if you have the Xaw3d library (-lXaw3d). */
597 /* Define to 1 if you're using XFree386. */
600 /* Define to 1 if you have the XkbGetKeyboard function. */
601 #undef HAVE_XKBGETKEYBOARD
603 /* Define to 1 if you have the Xpm libary (-lXpm). */
606 /* Define to 1 if you have the `XrmSetDatabase' function. */
607 #undef HAVE_XRMSETDATABASE
609 /* Define to 1 if you have the `XScreenNumberOfScreen' function. */
610 #undef HAVE_XSCREENNUMBEROFSCREEN
612 /* Define to 1 if you have the `XScreenResourceString' function. */
613 #undef HAVE_XSCREENRESOURCESTRING
615 /* Define to 1 if you have the `XSetWMProtocols' function. */
616 #undef HAVE_XSETWMPROTOCOLS
618 /* Define to 1 if you have the SM library (-lSM). */
621 /* Define to 1 if you want to use the X window system. */
622 #undef HAVE_X_WINDOWS
624 /* Define to 1 if you have the `__fpending' function. */
625 #undef HAVE___FPENDING
627 /* Define to support using a Hesiod database to find the POP server. */
630 /* Define to support Kerberos-authenticated POP mail retrieval. */
633 /* Define to use Kerberos 5 instead of Kerberos 4. */
636 /* Define LD_SWITCH_X_SITE to contain any special flags your loader may need
637 to deal with X Windows. For instance, if you've defined HAVE_X_WINDOWS
638 above and your X libraries aren't in a place that your loader can find on
639 its own, you might want to add "-L/..." or something similar. */
640 #undef LD_SWITCH_X_SITE
642 /* Define LD_SWITCH_X_SITE_AUX with an -R option in case it's needed (for
643 Solaris, for example). */
644 #undef LD_SWITCH_X_SITE_AUX
646 /* Define to -llockfile if it is usable. */
649 /* Define to 1 if localtime caches TZ. */
650 #undef LOCALTIME_CACHE
652 /* Define to support POP mail retrieval. */
655 /* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
656 on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
657 #undef NLIST_NAME_UNION
659 /* Define to 1 if you have <nlist.h>. */
662 /* Define to 1 if you don't have struct exception in math.h. */
665 /* Define to the address where bug reports for this package should be sent. */
666 #undef PACKAGE_BUGREPORT
668 /* Define to the full name of this package. */
671 /* Define to the full name and version of this package. */
672 #undef PACKAGE_STRING
674 /* Define to the one symbol short name of this package. */
675 #undef PACKAGE_TARNAME
677 /* Define to the version of this package. */
678 #undef PACKAGE_VERSION
680 /* Define as `void' if your compiler accepts `void *'; otherwise define as
684 /* Define to 1 if the C compiler supports function prototypes. */
687 /* Define REL_ALLOC if you want to use the relocating allocator for buffer
691 /* Define as the return type of signal handlers (`int' or `void'). */
694 /* If using the C implementation of alloca, define if you know the
695 direction of stack growth for your system; otherwise it will be
696 automatically deduced at run-time.
697 STACK_DIRECTION > 0 => grows toward higher addresses
698 STACK_DIRECTION < 0 => grows toward lower addresses
699 STACK_DIRECTION = 0 => direction of growth unknown */
700 #undef STACK_DIRECTION
702 /* Define to 1 if you have the ANSI C header files. */
705 /* Define to 1 on System V Release 4. */
708 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
709 #undef TIME_WITH_SYS_TIME
711 /* Define to 1 if your <sys/time.h> declares `struct tm'. */
712 #undef TM_IN_SYS_TIME
714 /* Define to 1 for Encore UMAX. */
717 /* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
721 /* Define to the unexec source file name. */
724 /* Define to 1 if we should use toolkit scroll bars. */
725 #undef USE_TOOLKIT_SCROLL_BARS
727 /* Define to 1 if we should use XIM, if it is available. */
730 /* Define to 1 if using an X toolkit. */
733 /* Define to 1 if on AIX 3.
734 System headers sometimes define this.
735 We just want to avoid a redefinition error message. */
740 /* Number of bits in a file offset, on hosts where this is settable. */
741 #undef _FILE_OFFSET_BITS
743 /* Enable GNU extensions on systems that have them. */
748 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
749 #undef _LARGEFILE_SOURCE
751 /* Define for large files, on AIX-style hosts. */
754 /* Define like PROTOTYPES; this can be used by system headers. */
757 /* Define to compiler's equivalent of C99 restrict keyword. Don't define if
758 equivalent is `__restrict'. */
761 /* Define to compiler's equivalent of C99 restrict keyword in array
762 declarations. Define as empty for no equivalent. */
763 #undef __restrict_arr
765 /* Define to the used machine dependent file. */
766 #undef config_machfile
768 /* Define to the used os dependent file. */
769 #undef config_opsysfile
771 /* Define to empty if `const' does not conform to ANSI C. */
774 /* Define to `int' if <sys/types.h> does not define. */
777 /* Define to any substitute for sys_siglist. */
780 /* Define as `fork' if `vfork' does not work. */
783 /* Define to empty if the keyword `volatile' does not work. Warning: valid
784 code using `volatile' can become incorrect without. Disable with care. */
788 /* If we're using any sort of window system, define some consequences. */
789 #ifdef HAVE_X_WINDOWS
790 #define HAVE_WINDOW_SYSTEM
795 /* If we're using the Carbon API on Mac OS X, define a few more
796 variables as well. */
798 #define HAVE_WINDOW_SYSTEM
802 /* Define USER_FULL_NAME to return a string
803 that is the user's full name.
804 It can assume that the variable `pw'
805 points to the password file entry for this user.
807 At some sites, the pw_gecos field contains
808 the user's full name. If neither this nor any other
809 field contains the right thing, use pw_name,
810 giving the user's login name, since that is better than nothing. */
811 #define USER_FULL_NAME pw->pw_gecos
813 /* Define AMPERSAND_FULL_NAME if you use the convention
814 that & in the full name stands for the login id. */
815 /* Turned on June 1996 supposing nobody will mind it. */
816 #define AMPERSAND_FULL_NAME
818 /* Define HAVE_SOUND if we have sound support. We know it works
819 and compiles only on the specified platforms. For others,
820 it probably doesn't make sense to try. */
822 #if defined __FreeBSD__ || defined __NetBSD__ || defined __linux__
823 #ifdef HAVE_MACHINE_SOUNDCARD_H
826 #ifdef HAVE_SYS_SOUNDCARD_H
829 #ifdef HAVE_SOUNDCARD_H
832 #endif /* __FreeBSD__ || __NetBSD__ || __linux__ */
834 /* If using GNU, then support inline function declarations. */
835 /* Don't try to switch on inline handling as detected by AC_C_INLINE
836 generally, because even if non-gcc compilers accept `inline', they
837 may reject `extern inline'. */
839 #define INLINE __inline__
844 /* Include the os and machine dependent files. */
845 #include config_opsysfile
846 #include config_machfile
848 /* Load in the conversion definitions if this system
849 needs them and the source file being compiled has not
850 said to inhibit this. There should be no need for you
851 to alter these lines. */
854 #ifndef NO_SHORTNAMES
855 #include "../shortnames/remap.h"
856 #endif /* not NO_SHORTNAMES */
857 #endif /* SHORTNAMES */
859 /* If no remapping takes place, static variables cannot be dumped as
860 pure, so don't worry about the `static' keyword. */
865 /* Define `subprocesses' should be defined if you want to
866 have code for asynchronous subprocesses
867 (as used in M-x compile and M-x shell).
868 These do not work for some USG systems yet;
869 for the ones where they work, the s/SYSTEM.h file defines this flag. */
873 /* #define subprocesses */
877 /* SIGTYPE is the macro we actually use. */
879 #define SIGTYPE RETSIGTYPE
882 #ifdef emacs /* Don't do this for lib-src. */
883 /* Tell regex.c to use a type compatible with Emacs. */
884 #define RE_TRANSLATE_TYPE Lisp_Object
885 #define RE_TRANSLATE(TBL, C) CHAR_TABLE_TRANSLATE (TBL, C)
886 #define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0)
889 /* Avoid link-time collision with system mktime if we will use our own. */
890 #if ! HAVE_MKTIME || BROKEN_MKTIME
891 #define mktime emacs_mktime
894 /* The rest of the code currently tests the CPP symbol BSTRING.
895 Override any claims made by the system-description files.
896 Note that on some SCO version it is possible to have bcopy and not bcmp. */
898 #if defined (HAVE_BCOPY) && defined (HAVE_BCMP)
902 /* Some of the files of Emacs which are intended for use with other
903 programs assume that if you have a config.h file, you must declare
906 This declaration shouldn't appear when alloca.s or Makefile.in
907 includes config.h. */
909 extern char *getenv ();
912 /* These default definitions are good for almost all machines.
913 The exceptions override them in m/MACHINE.h. */
915 #ifndef BITS_PER_CHAR
916 #define BITS_PER_CHAR 8
919 #ifndef BITS_PER_SHORT
920 #define BITS_PER_SHORT 16
923 /* Note that lisp.h uses this in a preprocessor conditional, so it
924 would not work to use sizeof. That being so, we do all of them
925 without sizeof, for uniformity's sake. */
927 #define BITS_PER_INT 32
930 #ifndef BITS_PER_LONG
932 #define BITS_PER_LONG 64
934 #define BITS_PER_LONG 32
938 /* Define if the compiler supports function prototypes. It may do so
939 but not define __STDC__ (e.g. DEC C by default) or may define it as
944 # if defined PROTOTYPES
945 # define __P(args) args
947 # define __P(args) ()
951 /* Don't include "string.h" or <stdlib.h> in non-C code. */
956 #ifdef HAVE_STRINGS_H
957 #include "strings.h" /* May be needed for bcopy & al. */
963 # ifdef HAVE_ALLOCA_H
965 # else /* AIX files deal with #pragma. */
966 # ifndef alloca /* predefined by HP cc +Olibcalls */
969 # endif /* HAVE_ALLOCA_H */
970 #endif /* __GNUC__ */
972 typedef unsigned size_t;
974 #endif /* NOT_C_CODE */
976 /* Define HAVE_X_I18N if we have usable i18n support. */
980 #elif defined HAVE_X11R5 && !defined X11R5_INHIBIT_I18N
984 /* Define HAVE_X11R6_XIM if we have usable X11R6-style XIM support. */
986 #if defined HAVE_X11R6 && !defined INHIBIT_X11R6_XIM
987 #define HAVE_X11R6_XIM
990 /* Should we enable expensive run-time checking of data types? */
991 #undef ENABLE_CHECKING
993 #if defined __GNUC__ && (__GNUC__ > 2 \
994 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
995 #define NO_RETURN __attribute__ ((__noreturn__))
997 #define NO_RETURN /* nothing */
1000 /* These won't be used automatically yet. We also need to know, at least,
1001 that the stack is continuous. */
1003 # ifndef GC_SETJMP_WORKS
1004 /* GC_SETJMP_WORKS is nearly always appropriate for GCC --
1005 see NON_SAVING_SETJMP in the target descriptions. */
1006 /* Exceptions (see NON_SAVING_SETJMP in target description) are ns32k,
1007 SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86.
1008 Fixme: Deal with ns32k, SVR3. */
1009 # define GC_SETJMP_WORKS 1
1011 # ifndef GC_LISP_OBJECT_ALIGNMENT
1012 # define GC_LISP_OBJECT_ALIGNMENT (__alignof__ (Lisp_Object))
1017 /* On Mac OS X, macros already defined in precompiled headers. */
1018 /* avoid deprecated functions */
1020 # define bcopy(a,b,s) memcpy (b,a,s)
1023 # define bzero(a,s) memset (a,0,s)
1026 # define BCMP memcmp
1027 # define bcmp memcmp
1029 #endif /* MAC_OSX */
1031 #endif /* EMACS_CONFIG_H */