diff nt/config.h @ 100:4be1180a9e89 r20-1b2

Import from CVS: tag r20-1b2
author cvs
date Mon, 13 Aug 2007 09:15:11 +0200
parents
children 7d55a9ba150c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nt/config.h	Mon Aug 13 09:15:11 2007 +0200
@@ -0,0 +1,664 @@
+/* XEmacs site configuration template file.  -*- C -*-
+   Copyright (C) 1986, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+
+This file is part of XEmacs.
+
+XEmacs 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.
+
+XEmacs is distributed in the hope that it will be useful, 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.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Synched up with: FSF 19.30 (more or less). */
+
+/* No code in XEmacs #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 _CONFIG_H_
+#define _CONFIG_H_
+
+/* #### This will be removed in 19.15. */
+#define LOSING_BYTECODE
+
+#define NTHEAP_PROBE_BASE 1
+
+/* These are all defined in the top-level Makefile by configure.
+   They're here only for reference.  */
+
+/* Define LISP_FLOAT_TYPE if you want XEmacs to support floating-point
+   numbers. */
+#undef LISP_FLOAT_TYPE
+
+/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
+#define GNU_MALLOC
+
+/* Define USE_SYSTEM_MALLOC if you forcing the use of it. */
+#undef USE_SYSTEM_MALLOC
+
+/* Define HAVE_TTY if you want TTY support compiled in. */
+#undef HAVE_TTY
+
+/* Define HAVE_X_WINDOWS if you want to use the X window system.  */
+#define HAVE_X_WINDOWS
+
+/* Define HAVE_NEXTSTEP if you want to use the NeXTstep window system.  */
+#undef HAVE_NEXTSTEP
+
+/* Define HAVE_WINDOW_SYSTEM if any windowing system is available.  */
+#if defined (HAVE_X_WINDOWS) || defined (HAVE_NEXTSTEP)
+#define HAVE_WINDOW_SYSTEM
+#endif
+
+/* Define HAVE_UNIXOID_EVENT_LOOP if we use select() to wait for events.  */
+#if defined (HAVE_X_WINDOWS) || defined (HAVE_TTY)
+#define HAVE_UNIXOID_EVENT_LOOP
+#endif
+
+/* Define this if you're using XFree386.  */
+#undef HAVE_XFREE386
+
+#undef THIS_IS_X11R4
+#undef THIS_IS_X11R5
+#define THIS_IS_X11R6
+
+/* 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.  */
+#if 0
+#define USER_FULL_NAME pw->pw_gecos
+#endif
+#define USER_FULL_NAME unknown
+
+/* Define AMPERSAND_FULL_NAME if you use the convention
+   that & in the full name stands for the login id.  */
+#undef AMPERSAND_FULL_NAME
+
+/* Some things figured out by the configure script, grouped as they are in
+   configure.in.  */
+#undef HAVE_MACH_MACH_H
+#undef HAVE_SYS_STROPTS_H
+#undef HAVE_SYS_TIMEB_H
+#undef HAVE_UNISTD_H
+#undef HAVE_UTIME_H
+#undef HAVE_SYS_WAIT_H
+#undef HAVE_LIBGEN_H
+#undef HAVE_LINUX_VERSION_H
+#undef WORDS_BIGENDIAN
+#undef TIME_WITH_SYS_TIME
+
+#define HAVE_SYS_TIME_H
+#define HAVE_LOCALE_H
+#define HAVE_X11_LOCALE_H
+#define STDC_HEADERS
+
+#define HAVE_LONG_FILE_NAMES
+
+#ifdef HAVE_LONG_FILE_NAMES
+#define CLASH_DETECTION
+#endif
+
+#undef HAVE_LIBDNET
+#undef HAVE_LIBRESOLV
+
+/* 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>.  */
+#define HAVE_TIMEVAL
+
+
+#undef TM_IN_SYS_TIME
+#undef HAVE_TM_ZONE
+#undef HAVE_TZNAME
+
+/* Define if netdb.h declares h_errno.  */
+#undef HAVE_H_ERRNO
+
+/* Define if localtime caches TZ */
+#undef LOCALTIME_CACHE
+
+/* Define if gettimeofday can't accept two arguments */
+#ifdef HAVE_X_WINDOWS
+#define GETTIMEOFDAY_ONE_ARGUMENT
+#else
+#undef GETTIMEOFDAY_ONE_ARGUMENT
+#endif
+
+/* Define in keyword `inline' exists. */
+#undef HAVE_INLINE
+
+#undef HAVE_ALLOCA_H
+#undef HAVE_VFORK_H
+#undef vfork
+
+#undef HAVE_MMAP
+#undef HAVE_STRCOLL
+
+#undef SIZEOF_SHORT
+#undef SIZEOF_INT
+#undef SIZEOF_LONG
+
+#undef HAVE_ACOSH
+#undef HAVE_ASINH
+#undef HAVE_ATANH
+
+#if defined (HAVE_ACOSH) && defined (HAVE_ASINH) && defined (HAVE_ATANH)
+#define HAVE_INVERSE_HYPERBOLIC
+#endif
+
+#undef HAVE_CBRT
+#define HAVE_CLOSEDIR
+#undef HAVE_DUP2
+#undef HAVE_EACCESS
+#undef HAVE_FMOD
+#undef HAVE_FPATHCONF
+#undef HAVE_FREXP
+#undef HAVE_FTIME
+#undef HAVE_GETHOSTNAME
+#undef HAVE_GETPAGESIZE
+#define HAVE_GETTIMEOFDAY
+#define HAVE_GETWD
+#undef HAVE_LOGB
+#undef HAVE_LRAND48
+#undef HAVE_MATHERR
+#undef HAVE_MKDIR
+#undef HAVE_MKTIME
+#undef HAVE_PERROR
+#undef HAVE_POLL
+#undef HAVE_RANDOM
+#undef HAVE_REALPATH
+#undef HAVE_RENAME
+#undef HAVE_RES_INIT
+#undef HAVE_RINT
+#undef HAVE_RMDIR
+#define HAVE_SELECT
+#undef HAVE_SETITIMER
+#undef HAVE_SETPGID
+#undef HAVE_SETSID
+#undef HAVE_SIGBLOCK
+#undef HAVE_SIGHOLD
+#undef HAVE_SIGPROCMASK
+#undef HAVE_SIGSETJMP
+#undef HAVE_STRCASECMP
+#define HAVE_STRERROR
+#undef HAVE_TZSET
+#undef HAVE_UTIMES
+#undef HAVE_WAITPID
+
+#define HAVE_SOCKETS
+#undef HAVE_SOCKADDR_SUN_LEN
+#undef HAVE_SYSVIPC
+
+#undef SYSV_SYSTEM_DIR
+#undef NONSYSTEM_DIR_LIBRARY
+
+#undef HAVE_TERMIOS
+#undef HAVE_TERMIO
+
+#undef NLIST_STRUCT
+
+#undef UNEXEC_SRC
+#undef AIX_SMT_EXP
+
+/* Define HAVE_SOCKS if you have the `socks' library and want XEmacs to
+   use it.  */
+#undef HAVE_SOCKS
+
+/* Define HAVE_TERM if you run the `term' program (e.g. under Linux) and
+   want XEmacs to use it.  */
+#undef HAVE_TERM
+
+/* Define HAVE_XPM if you have the `xpm' library and want XEmacs to use it. */
+#undef HAVE_XPM
+
+/* Define HAVE_XFACE if you have the `compface' library and want to use it.
+   This will permit X-face pixmaps in mail and news messages to display
+   quickly. */
+#undef HAVE_XFACE
+
+/* Define HAVE_GIF if you want XEmacs to support converting GIF
+   (Graphics Interchange Format) images. */
+#undef HAVE_GIF
+
+/* Define HAVE_JPEG if you have the JPEG library and want XEmacs to use it.
+   This is for converting JPEG images. */
+#undef HAVE_JPEG
+
+/* Define HAVE_PNG if you have the PNG library and want XEmacs to use it.
+   This is for converting PNG images. */
+#undef HAVE_PNG
+
+/* Define HAVE_PNG_GNUZ if you want to use -lgz instead of -lz for PNG. */
+#undef HAVE_PNG_GNUZ
+
+/* Define HAVE_TIFF if you have the TIFF library and want XEmacs to use it.
+   This is for converting TIFF images. */
+#undef HAVE_TIFF
+
+/* Define HAVE_XMU if you have the Xmu library.  This should always be
+   the case except on losing HPUX systems. */
+#define HAVE_XMU
+
+/* Define HAVE_DBM if you want to use the DBM libraries */
+#undef HAVE_DBM
+
+/* Define HAVE_GNU_DBM if you want to use the GNU DBM libraries;
+   if you define this, you should also define HAVE_DBM */
+#undef HAVE_GNU_DBM
+
+/* Define HAVE_BERKELEY_DB if you want to use the BerkDB libraries */
+#undef HAVE_BERKELEY_DB
+
+/* Define HAVE_LIBGDBM if you have -lgdbm (separated from HAVE_DBM
+   stuff because FreeBSD has the DBM routines in libc) */
+#undef HAVE_LIBGDBM
+
+/* Define HAVE_LIBDBM if you have -ldbm */
+#undef HAVE_LIBDBM
+
+/* Define HAVE_LIBDB if you have -ldb */
+#undef HAVE_LIBDB
+
+#if defined (HAVE_DBM) || defined (HAVE_BERKELEY_DB)
+# define HAVE_DATABASE
+#endif
+
+/* Define HAVE_XAUTH if the Xauth library is present.  This will add
+   some extra functionality to gnuserv. */
+#undef HAVE_XAUTH
+
+/* Define HAVE_XLOCALE_H if X11/Xlocale.h is present. */
+#define HAVE_XLOCALE_H
+
+/* Define HAVE_NCURSES if -lncurses is present. */
+#undef HAVE_NCURSES
+
+/* Define HAVE_NCURSES_CURSES_H if ncurses/curses.h is present. */
+#undef HAVE_NCURSES_CURSES_H
+
+/* Define HAVE_NCURSES_TERM_H if ncurses/term.h is present. */
+#undef HAVE_NCURSES_TERM_H
+
+/* Define EPOCH to include extra functionality that was present in Epoch.
+   This code has received only limited testing. */
+#undef EPOCH
+
+#define LOWTAGS
+
+/* Define USE_ASSERTIONS if you want the abort() to be changed to assert()
+   If the assertion fails, assert_failed() will be called.  This is
+   recommended for general use because it gives more info about the crash
+   than just the abort() message.  Too many people "Can't find the corefile"
+   or have limited core dumps out of existence. */
+#define USE_ASSERTIONS
+
+/* Define one or more of the following if you want lots of extra checks
+   (e.g. structure validation) compiled in.  These should be turned
+   on during the beta-test cycle. */
+
+/* Check the entire extent structure of a buffer each time an extent
+   change is done, and do other extent-related checks. */
+#define ERROR_CHECK_EXTENTS
+/* Make sure that all X... macros are dereferencing the correct type,
+   and that all XSET... macros (as much as possible) are setting the
+   correct type of structure.  Highly recommended for all
+   development work. */
+#define ERROR_CHECK_TYPECHECK
+/* Make sure valid buffer positions are passed to BUF_* macros. */
+#define ERROR_CHECK_BUFPOS
+/* Attempt to catch bugs related to garbage collection (e.g.
+   insufficient GCPRO'ing). */
+#define ERROR_CHECK_GC
+/* Attempt to catch freeing of a non-malloc()ed block, heap corruption,
+   etc. */
+#define ERROR_CHECK_MALLOC
+
+/* Define DEBUG_XEMACS if you want extra debugging code compiled in.
+   This is mainly intended for use by developers. */
+#define DEBUG_XEMACS 0
+
+/* Define MEMORY_USAGE_STATS if you want extra code compiled in to
+   determine where XEmacs's memory is going. */
+#undef MEMORY_USAGE_STATS
+
+/* Define QUANTIFY if using Quantify from Pure Software.  This adds
+   some additional calls to control data collection.  This is only
+   intended for use by the developers. */
+#undef QUANTIFY
+
+/* Define EXTERNAL_WIDGET to compile support for using the editor as a
+   widget in another program. */
+#undef EXTERNAL_WIDGET
+
+/* There are some special-case defines for gcc and lcc. */
+#undef USE_GCC
+#undef USE_LCC
+
+/* Allow the user to override the default value of PURESIZE at configure
+   time.  This must come before we include the sys files in order for
+   it to be able to override any changes in them. */
+#undef PURESIZE
+
+
+/* Define this if you want to use the Common Desktop Environment
+*/
+#undef HAVE_CDE
+
+/* Mocklisp Support. */
+#undef MOCKLISP_SUPPORT
+
+/* enable special GNU Make features in the Makefiles. */
+#undef USE_GNU_MAKE
+
+/* Undocumented debugging option: Don't automatically rebuild the DOC
+   file.  This saves a lot of time when you're repeatedly
+   compiling-running-crashing. */
+#undef NO_DOC_FILE
+
+  /* To eliminate use of `const' in the XEmacs sources,
+     do `#define CONST_IS_LOSING' */
+#define CONST_IS_LOSING
+
+# undef CONST
+# ifdef CONST_IS_LOSING
+#  define CONST
+# else
+#  define CONST const
+# endif /* CONST */
+
+/* If not defined, use unions instead of ints.  A few systems (DEC Alpha)
+   seem to require this, probably because something with the int
+   definitions isn't right with 64-bit systems.
+
+   (It's NO_UNION_TYPE instead of USE_UNION_TYPE for historical reasons.)
+*/
+#undef NO_UNION_TYPE
+
+/* 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.
+
+   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.  */
+#include "s/windowsnt.h"
+
+/* 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.
+
+   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.  */
+#include "m/windowsnt.h"
+
+#if defined (USE_SYSTEM_MALLOC) && !defined (SYSTEM_MALLOC)
+#define SYSTEM_MALLOC
+#endif
+
+/* The configuration name.  This is used as the install directory name
+   for the lib-src programs. */
+#undef EMACS_CONFIGURATION
+
+/* 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 REL_ALLOC if you want to use the relocating allocator for
+   buffer space. */
+#undef REL_ALLOC
+
+/* Define LD_SWITCH_SITE to contain any special flags your loader may need.  */
+#undef LD_SWITCH_SITE
+
+/* Define C_SWITCH_SITE to contain any special flags your compiler needs.  */
+#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.  */
+#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.  */
+#undef C_SWITCH_X_SITE
+
+/* 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 RETSIGTYPE
+#define SIGRETURN return
+#endif
+
+/* Define DYNODUMP if it is necessary to properly dump on this system.
+   Currently this is only Solaris. */
+#undef DYNODUMP
+
+/* Define NEED_XILDOFF if the -xildoff flag must be passed to cc to
+   avoid invoking the incremental linker ild which is incompatible
+   with dynodump.  This is needed for recent Sunsoft compilers. */
+#undef NEED_XILDOFF
+
+/* Define ENERGIZE to compile with support for the Energize Programming System.
+   If you do this, don't forget to define ENERGIZE in lwlib/Imakefile as well.
+   You will need to set your C_SWITCH_SITE and LD_SWITCH_SITE to point at the
+   Energize connection library (libconn.a) and associated header files.
+ */
+#undef ENERGIZE
+#undef ENERGIZE_2
+#undef ENERGIZE_3
+
+/* Define SUNPRO to compiled in support for Sun Sparcworks. */
+#undef SUNPRO
+
+/* Sun SparcStations, SGI machines, and HP9000s700s have support for playing
+   different sound files as beeps.  If you are on a SparcStation but do not 
+   have the sound option installed for some reason, then undefine
+   HAVE_NATIVE_SOUND.  (It's usually found in /usr/demo/SOUND/ on SunOS 4
+   and Solaris systems; on Solaris, you may need to install the "SUNWaudmo"
+   package.)
+ */
+#undef HAVE_NATIVE_SOUND
+
+/* If you wish to compile with support for the Network Audio System
+   system define HAVE_NAS_SOUND.
+   NAS_NO_ERROR_JUMP means that the NAS libraries don't inlcude some
+   error handling changes.
+ */
+#undef HAVE_NAS_SOUND
+#undef NAS_NO_ERROR_JUMP
+
+/* Compile in support for SunPro usage-tracking code. */
+#undef USAGE_TRACKING
+
+/* Define TOOLTALK if your site supports the ToolTalk library. */
+#undef TOOLTALK
+
+#undef LWLIB_USES_MOTIF
+#define LWLIB_MENUBARS_LUCID
+#undef LWLIB_MENUBARS_MOTIF
+#define LWLIB_SCROLLBARS_LUCID
+#undef LWLIB_SCROLLBARS_MOTIF
+#undef LWLIB_SCROLLBARS_ATHENA
+#undef LWLIB_DIALOGS_MOTIF
+#define LWLIB_DIALOGS_ATHENA
+
+/* Other things that can be disabled by configure. */
+#define HAVE_MENUBARS
+#define HAVE_SCROLLBARS
+#define HAVE_DIALOGS
+#undef HAVE_TOOLBARS
+
+
+#if defined (HAVE_MENUBARS) || defined (HAVE_DIALOGS)
+#define HAVE_POPUPS
+#endif
+
+/* If you are using SunOS 4.1.1 and X11r5, then you need this patch.
+   There is a stupid bug in the SunOS libc.a: two functions which X11r5
+   uses, mbstowcs() and wcstombs(), are unusable when programs are
+   statically linked (as XEmacs must be) because the static version of
+   libc.a contains the *dynamic* versions of these functions.  These
+   functions don't seem to be called when XEmacs is running, so it's 
+   enough to define stubs for them.
+
+   This appears to be fixed in SunOS 4.1.2.
+
+   Also, SunOS 4.1.1 contains buggy versions of strcmp and strcpy that
+   sometimes reference memory past the end of the string, which can segv.
+   I don't know whether this is has been fixed as of 4.1.2 or 4.1.3.
+ */
+#if defined (sparc) && !defined (USG)
+#define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
+#endif
+
+/* If you turn this flag on, it forces encapsulation in all
+circumstances; this can be used to make sure things compile OK
+on various systems. */
+#undef DEBUG_ENCAPSULATION
+#define DONT_ENCAPSULATE
+
+/* basic system calls */
+
+#if defined (INTERRUPTIBLE_IO) || defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_READ
+# define ENCAPSULATE_WRITE
+#endif
+#if defined (INTERRUPTIBLE_OPEN) || defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_OPEN
+#endif
+#if defined (INTERRUPTIBLE_CLOSE) || defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_CLOSE
+#endif
+
+/* stdio calls */
+
+#if defined (INTERRUPTIBLE_IO) || defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_FREAD
+# define ENCAPSULATE_FWRITE
+#endif
+#if defined (INTERRUPTIBLE_OPEN) || defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_FOPEN
+#endif
+#if defined (INTERRUPTIBLE_CLOSE) || defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_FCLOSE
+#endif
+
+/* directory calls */
+
+#if defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_CHDIR
+# define ENCAPSULATE_MKDIR
+# define ENCAPSULATE_OPENDIR
+# define ENCAPSULATE_READDIR
+# define ENCAPSULATE_RMDIR
+#endif
+
+/* file-information calls */
+
+#if defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_ACCESS
+# define ENCAPSULATE_LSTAT
+# define ENCAPSULATE_READLINK
+# define ENCAPSULATE_STAT
+#endif
+
+/* file-manipulation calls */
+
+#if defined (DEBUG_ENCAPSULATION)
+# define ENCAPSULATE_CHMOD
+# define ENCAPSULATE_CREAT
+# define ENCAPSULATE_LINK
+# define ENCAPSULATE_RENAME
+# define ENCAPSULATE_SYMLINK
+# define ENCAPSULATE_UNLINK
+#endif
+
+#if (defined (MSDOS) && defined (FEPCTRL)) || (defined (WIN32) && defined (USE_IME))
+#define HAVE_FEP
+#endif
+
+#if defined (HAVE_SOCKS) && !defined (DO_NOT_SOCKSIFY)
+#define accept Raccept
+#define bind Rbind
+#define connect Rconnect
+#define getsockname Rgetsockname
+#define listen Rlisten
+#endif /* HAVE_SOCKS && !DO_NOT_SOCKSIFY */
+
+#ifndef SHORTBITS
+#define SHORTBITS (8 * SIZEOF_SHORT)
+#endif
+#ifndef INTBITS
+#define INTBITS (8 * SIZEOF_INT)
+#endif
+#ifndef LONGBITS
+#define LONGBITS (8 * SIZEOF_LONG)
+#endif
+
+#ifdef HAVE_INLINE
+# if defined (__GNUC__)
+#  if defined (DONT_EXTERN_INLINE_FUNCTIONS)
+#   define INLINE inline
+#  else
+#   define INLINE extern inline
+#  endif
+# else
+#  define INLINE static inline
+# endif
+#else
+# define INLINE static
+#endif
+
+/* We want to avoid saving the signal mask if possible, because
+   that necessitates a system call. */
+#ifdef HAVE_SIGSETJMP
+# define SETJMP(x) sigsetjmp (x, 0)
+# define LONGJMP(x, y) siglongjmp (x, y)
+# define JMP_BUF sigjmp_buf
+#else
+# define SETJMP(x) setjmp (x)
+# define LONGJMP(x, y) longjmp (x, y)
+# define JMP_BUF jmp_buf
+#endif
+
+#endif /* _CONFIG_H_ */