/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define to the number of bits in type 'int16_t'. */
#undef BITSIZEOF_INT16_T

/* Define to the number of bits in type 'int32_t'. */
#undef BITSIZEOF_INT32_T

/* Define to the number of bits in type 'int64_t'. */
#undef BITSIZEOF_INT64_T

/* Define to the number of bits in type 'int8_t'. */
#undef BITSIZEOF_INT8_T

/* Define to the number of bits in type 'intmax_t'. */
#undef BITSIZEOF_INTMAX_T

/* Define to the number of bits in type 'intptr_t'. */
#undef BITSIZEOF_INTPTR_T

/* Define to the number of bits in type 'int_fast16_t'. */
#undef BITSIZEOF_INT_FAST16_T

/* Define to the number of bits in type 'int_fast32_t'. */
#undef BITSIZEOF_INT_FAST32_T

/* Define to the number of bits in type 'int_fast64_t'. */
#undef BITSIZEOF_INT_FAST64_T

/* Define to the number of bits in type 'int_fast8_t'. */
#undef BITSIZEOF_INT_FAST8_T

/* Define to the number of bits in type 'int_least16_t'. */
#undef BITSIZEOF_INT_LEAST16_T

/* Define to the number of bits in type 'int_least32_t'. */
#undef BITSIZEOF_INT_LEAST32_T

/* Define to the number of bits in type 'int_least64_t'. */
#undef BITSIZEOF_INT_LEAST64_T

/* Define to the number of bits in type 'int_least8_t'. */
#undef BITSIZEOF_INT_LEAST8_T

/* Define to the number of bits in type 'long'. */
#undef BITSIZEOF_LONG

/* Define to the number of bits in type 'ptrdiff_t'. */
#undef BITSIZEOF_PTRDIFF_T

/* Define to the number of bits in type 'sig_atomic_t'. */
#undef BITSIZEOF_SIG_ATOMIC_T

/* Define to the number of bits in type 'size_t'. */
#undef BITSIZEOF_SIZE_T

/* Define to the number of bits in type 'uint16_t'. */
#undef BITSIZEOF_UINT16_T

/* Define to the number of bits in type 'uint32_t'. */
#undef BITSIZEOF_UINT32_T

/* Define to the number of bits in type 'uint64_t'. */
#undef BITSIZEOF_UINT64_T

/* Define to the number of bits in type 'uint8_t'. */
#undef BITSIZEOF_UINT8_T

/* Define to the number of bits in type 'uintmax_t'. */
#undef BITSIZEOF_UINTMAX_T

/* Define to the number of bits in type 'uintptr_t'. */
#undef BITSIZEOF_UINTPTR_T

/* Define to the number of bits in type 'uint_fast16_t'. */
#undef BITSIZEOF_UINT_FAST16_T

/* Define to the number of bits in type 'uint_fast32_t'. */
#undef BITSIZEOF_UINT_FAST32_T

/* Define to the number of bits in type 'uint_fast64_t'. */
#undef BITSIZEOF_UINT_FAST64_T

/* Define to the number of bits in type 'uint_fast8_t'. */
#undef BITSIZEOF_UINT_FAST8_T

/* Define to the number of bits in type 'uint_least16_t'. */
#undef BITSIZEOF_UINT_LEAST16_T

/* Define to the number of bits in type 'uint_least32_t'. */
#undef BITSIZEOF_UINT_LEAST32_T

/* Define to the number of bits in type 'uint_least64_t'. */
#undef BITSIZEOF_UINT_LEAST64_T

/* Define to the number of bits in type 'uint_least8_t'. */
#undef BITSIZEOF_UINT_LEAST8_T

/* Define to the number of bits in type 'unsigned_int'. */
#undef BITSIZEOF_UNSIGNED_INT

/* Define to the number of bits in type 'unsigned_long'. */
#undef BITSIZEOF_UNSIGNED_LONG

/* Define to the number of bits in type 'wchar_t'. */
#undef BITSIZEOF_WCHAR_T

/* Define to the number of bits in type 'wint_t'. */
#undef BITSIZEOF_WINT_T

/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
   systems. This function is required for `alloca.c' support on those systems.
   */
#undef CRAY_STACKSEG_END

/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA

/* Define as good substitute value for EILSEQ. */
#undef EILSEQ

/* Define to 1 to enable a few rarely used encodings. */
#undef ENABLE_EXTRA

/* Define to 1 if translation of program messages to the user's native
   language is requested. */
#undef ENABLE_NLS

/* Define to 1 if the package shall run at any location in the filesystem. */
#undef ENABLE_RELOCATABLE

/* Define this to the full path to <inttypes.h>. */
#undef FULL_PATH_INTTYPES_H

/* Define this to the full path to <stdint.h>. */
#undef FULL_PATH_STDINT_H

/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA

/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
   */
#undef HAVE_ALLOCA_H

/* Define to 1 if you have the `canonicalize_file_name' function. */
#undef HAVE_CANONICALIZE_FILE_NAME

/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
   CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT

/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
   the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE

/* Define if the GNU dcgettext() function is already present or preinstalled.
   */
#undef HAVE_DCGETTEXT

/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_CLEARERR_UNLOCKED

/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
   don't. */
#undef HAVE_DECL_FEOF_UNLOCKED

/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FERROR_UNLOCKED

/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FFLUSH_UNLOCKED

/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FGETS_UNLOCKED

/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FPUTC_UNLOCKED

/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FPUTS_UNLOCKED

/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FREAD_UNLOCKED

/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_FWRITE_UNLOCKED

/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_GETCHAR_UNLOCKED

/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
   don't. */
#undef HAVE_DECL_GETC_UNLOCKED

/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
   you don't. */
#undef HAVE_DECL_PUTCHAR_UNLOCKED

/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you
   don't. */
#undef HAVE_DECL_PUTC_UNLOCKED

/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
   don't. */
#undef HAVE_DECL_STRERROR_R

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* Define if you have the declaration of environ. */
#undef HAVE_ENVIRON_DECL

/* Define if you have the declaration of errno. */
#undef HAVE_ERRNO_DECL

/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD

/* Define to 1 if you have the `getc_unlocked' function. */
#undef HAVE_GETC_UNLOCKED

/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT

/* Define if you have the iconv() function. */
#undef HAVE_ICONV

/* Define to 1 if the type 'int16_t' is already defined. */
#undef HAVE_INT16_T

/* Define to 1 if the type 'int32_t' is already defined. */
#undef HAVE_INT32_T

/* Define to 1 if the type 'int64_t' is already defined. */
#undef HAVE_INT64_T

/* Define to 1 if the type 'int64_t' is already definedin <stdint.h>. */
#undef HAVE_INT64_T_IN_STDINT_H

/* Define to 1 if the type 'int8_t' is already defined. */
#undef HAVE_INT8_T

/* Define to 1 if the type 'intmax_t' is already defined. */
#undef HAVE_INTMAX_T

/* Define to 1 if the type 'intptr_t' is already defined. */
#undef HAVE_INTPTR_T

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* Define to 1 if the type 'int_fast16_t' is already defined. */
#undef HAVE_INT_FAST16_T

/* Define to 1 if the type 'int_fast32_t' is already defined. */
#undef HAVE_INT_FAST32_T

/* Define to 1 if the type 'int_fast64_t' is already defined. */
#undef HAVE_INT_FAST64_T

/* Define to 1 if the type 'int_fast64_t' is already definedin <stdint.h>. */
#undef HAVE_INT_FAST64_T_IN_STDINT_H

/* Define to 1 if the type 'int_fast8_t' is already defined. */
#undef HAVE_INT_FAST8_T

/* Define to 1 if the type 'int_least16_t' is already defined. */
#undef HAVE_INT_LEAST16_T

/* Define to 1 if the type 'int_least32_t' is already defined. */
#undef HAVE_INT_LEAST32_T

/* Define to 1 if the type 'int_least64_t' is already defined. */
#undef HAVE_INT_LEAST64_T

/* Define to 1 if the type 'int_least64_t' is already definedin <stdint.h>. */
#undef HAVE_INT_LEAST64_T_IN_STDINT_H

/* Define to 1 if the type 'int_least8_t' is already defined. */
#undef HAVE_INT_LEAST8_T

/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET

/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H

/* Define if you have the 'long double' type. */
#undef HAVE_LONG_DOUBLE

/* Define if you have the 'long long' type. */
#undef HAVE_LONG_LONG

/* Define to 1 if you have the <mach-o/dyld.h> header file. */
#undef HAVE_MACH_O_DYLD_H

/* Define to 1 if you have the `mbrtowc' function. */
#undef HAVE_MBRTOWC

/* Define to 1 if you have the `mbsinit' function. */
#undef HAVE_MBSINIT

/* Define to 1 if <wchar.h> declares mbstate_t. */
#undef HAVE_MBSTATE_T

/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define to 1 if the system has the type `ptrdiff_t'. */
#undef HAVE_PTRDIFF_T

/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK

/* Define to 1 if you have the <search.h> header file. */
#undef HAVE_SEARCH_H

/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV

/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE

/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
#undef HAVE_SIGNED_SIG_ATOMIC_T

/* Define to 1 if 'wchar_t' is a signed integer type. */
#undef HAVE_SIGNED_WCHAR_T

/* Define to 1 if 'wint_t' is a signed integer type. */
#undef HAVE_SIGNED_WINT_T

/* Define to 1 if the system has the type `sig_atomic_t'. */
#undef HAVE_SIG_ATOMIC_T

/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H

/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR

/* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H

/* Define to 1 if you have the <sys/inttypes.h> header file. */
#undef HAVE_SYS_INTTYPES_H

/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H

/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H

/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH

/* Define to 1 if the type 'uint16_t' is already defined. */
#undef HAVE_UINT16_T

/* Define to 1 if the type 'uint32_t' is already defined. */
#undef HAVE_UINT32_T

/* Define to 1 if the type 'uint64_t' is already defined. */
#undef HAVE_UINT64_T

/* Define to 1 if the type 'uint64_t' is already definedin <stdint.h>. */
#undef HAVE_UINT64_T_IN_STDINT_H

/* Define to 1 if the type 'uint8_t' is already defined. */
#undef HAVE_UINT8_T

/* Define to 1 if the type 'uintmax_t' is already defined. */
#undef HAVE_UINTMAX_T

/* Define to 1 if the type 'uintptr_t' is already defined. */
#undef HAVE_UINTPTR_T

/* Define to 1 if the type 'uint_fast16_t' is already defined. */
#undef HAVE_UINT_FAST16_T

/* Define to 1 if the type 'uint_fast32_t' is already defined. */
#undef HAVE_UINT_FAST32_T

/* Define to 1 if the type 'uint_fast64_t' is already defined. */
#undef HAVE_UINT_FAST64_T

/* Define to 1 if the type 'uint_fast64_t' is already definedin <stdint.h>. */
#undef HAVE_UINT_FAST64_T_IN_STDINT_H

/* Define to 1 if the type 'uint_fast8_t' is already defined. */
#undef HAVE_UINT_FAST8_T

/* Define to 1 if the type 'uint_least16_t' is already defined. */
#undef HAVE_UINT_LEAST16_T

/* Define to 1 if the type 'uint_least32_t' is already defined. */
#undef HAVE_UINT_LEAST32_T

/* Define to 1 if the type 'uint_least64_t' is already defined. */
#undef HAVE_UINT_LEAST64_T

/* Define to 1 if the type 'uint_least64_t' is already definedin <stdint.h>.
   */
#undef HAVE_UINT_LEAST64_T_IN_STDINT_H

/* Define to 1 if the type 'uint_least8_t' is already defined. */
#undef HAVE_UINT_LEAST8_T

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define to 1 if you have the `unsetenv' function. */
#undef HAVE_UNSETENV

/* Define to 1 or 0, depending whether the compiler supports simple visibility
   declarations. */
#undef HAVE_VISIBILITY

/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H

/* Define if you have the 'wchar_t' type. */
#undef HAVE_WCHAR_T

/* Define to 1 if you have the `wcrtomb' function. */
#undef HAVE_WCRTOMB

/* Define to 1 if the system has the type `wint_t'. */
#undef HAVE_WINT_T

/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL

/* Define to 1 if you have the `_NSGetExecutablePath' function. */
#undef HAVE__NSGETEXECUTABLEPATH

/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST

/* Define to the value of ${prefix}, as a string. */
#undef INSTALLPREFIX

/* Define if <stdint.h> doesn't define it. */
#undef INT16_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT16_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT32_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT32_MIN

/* Define if <stdint.h> doesn't define it but has the int64_t type. */
#undef INT64_MAX

/* Define if <stdint.h> doesn't define it but has the int64_t type. */
#undef INT64_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT8_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT8_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INTMAX_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INTMAX_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INTPTR_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INTPTR_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST16_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST16_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST32_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST32_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST64_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST64_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST8_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_FAST8_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_LEAST16_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_LEAST16_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_LEAST32_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_LEAST32_MIN

/* Define if <stdint.h> doesn't define it but has the int_least64_t type. */
#undef INT_LEAST64_MAX

/* Define if <stdint.h> doesn't define it but has the int_least64_t type. */
#undef INT_LEAST64_MIN

/* Define if <stdint.h> doesn't define it. */
#undef INT_LEAST8_MAX

/* Define if <stdint.h> doesn't define it. */
#undef INT_LEAST8_MIN

/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
#undef MALLOC_0_IS_NONNULL

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define if <stdint.h> doesn't define it. */
#undef PTRDIFF_MAX

/* Define if <stdint.h> doesn't define it. */
#undef PTRDIFF_MIN

/* Define if <stdint.h> doesn't define it. */
#undef SIG_ATOMIC_MAX

/* Define if <stdint.h> doesn't define it. */
#undef SIG_ATOMIC_MIN

/* Define as the maximum value of type 'size_t', if the system doesn't define
   it. */
#undef SIZE_MAX

/* If using the C implementation of alloca, define if you know the
   direction of stack growth for your system; otherwise it will be
   automatically deduced at runtime.
	STACK_DIRECTION > 0 => grows toward higher addresses
	STACK_DIRECTION < 0 => grows toward lower addresses
	STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* Define to 1 if strerror_r returns char *. */
#undef STRERROR_R_CHAR_P

/* Define if <stdint.h> doesn't define it. */
#undef UINT16_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT32_MAX

/* Define if <stdint.h> doesn't define it but has the uint64_t type. */
#undef UINT64_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT8_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINTMAX_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINTPTR_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_FAST16_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_FAST32_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_FAST64_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_FAST8_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_LEAST16_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_LEAST32_MAX

/* Define if <stdint.h> doesn't define it but has the uint_least64_t type. */
#undef UINT_LEAST64_MAX

/* Define if <stdint.h> doesn't define it. */
#undef UINT_LEAST8_MAX

/* Define to 1 if you want getc etc. to use unlocked I/O if available.
   Unlocked I/O can improve performance in unithreaded apps, but it is not
   safe for multithreaded apps. */
#undef USE_UNLOCKED_IO

/* Version number of package */
#undef VERSION

/* Define if unsetenv() returns void, not int. */
#undef VOID_UNSETENV

/* Define if <stdint.h> doesn't define it. */
#undef WINT_MAX

/* Define if <stdint.h> doesn't define it. */
#undef WINT_MIN

/* Define if the machine's byte ordering is little endian. */
#undef WORDS_LITTLEENDIAN

/* Define to 1 if on AIX 3.
   System headers sometimes define this.
   We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif

/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif

/* Define to 1 if on MINIX. */
#undef _MINIX

/* Define to 2 if the system does not provide POSIX.1 features except with
   this defined. */
#undef _POSIX_1_SOURCE

/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE

/* Enable extensions on Solaris.  */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif

/* Define to a type if <wchar.h> does not define. */
#undef mbstate_t

/* Define to a replacement function name for realpath(). */
#undef realpath

/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t

/* Define as a signed type of the same size as size_t. */
#undef ssize_t


/* On Windows, variables that may be in a DLL must be marked specially.  */
#if defined _MSC_VER && defined _DLL
# define DLL_VARIABLE __declspec (dllimport)
#else
# define DLL_VARIABLE
#endif

