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

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

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

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

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

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

/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE

/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE

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

/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL

/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET

/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT

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

/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP

/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP

/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION

/* 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 <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 st_atime is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_ATIME

/* Define to 1 if st_blksize is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE

/* Define to 1 if st_blocks is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS

/* Define to 1 if st_ctime is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_CTIME

/* Define to 1 if st_dev is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_DEV

/* Define to 1 if st_gid is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_GID

/* Define to 1 if st_ino is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_INO

/* Define to 1 if st_mode is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_MODE

/* Define to 1 if st_mtime is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_MTIME

/* Define to 1 if st_nlink is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_NLINK

/* Define to 1 if st_rdev is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_RDEV

/* Define to 1 if st_size is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_SIZE

/* Define to 1 if st_uid is a member of struct stat. */
#undef HAVE_STRUCT_STAT_ST_UID

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

/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_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/times.h> header file. */
#undef HAVE_SYS_TIMES_H

/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_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 `time' function. */
#undef HAVE_TIME

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

/* Define to 1 if you have the `truncate' function. */
#undef HAVE_TRUNCATE

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

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

/* Define to 1 if you have the `__setfpucw' function. */
#undef HAVE___SETFPUCW

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

/* Additional package description */
#undef PKGVERSION

/* Bug reporting address */
#undef REPORT_BUGS_TO

/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE

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