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

/* Name of host specific core header file to include in elf.c. */
#undef CORE_HEADER

/* 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 <alloca.h> header file. */
#undef HAVE_ALLOCA_H

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
   */
#undef HAVE_DIRENT_H

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

/* Define to 1 if you have the `fcntl' function. */
#undef HAVE_FCNTL

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

/* Define to 1 if you have the `fdopen' function. */
#undef HAVE_FDOPEN

/* Define to 1 if you have the `fileno' function. */
#undef HAVE_FILENO

/* Define to 1 if you have the `fopen64' function. */
#undef HAVE_FOPEN64

/* Define to 1 if you have the `fseeko' function. */
#undef HAVE_FSEEKO

/* Define to 1 if you have the `fseeko64' function. */
#undef HAVE_FSEEKO64

/* Define to 1 if you have the `ftello' function. */
#undef HAVE_FTELLO

/* Define to 1 if you have the `ftello64' function. */
#undef HAVE_FTELLO64

/* Define to 1 if you have the `getgid' function. */
#undef HAVE_GETGID

/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE

/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID

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

/* Define if <sys/procfs.h> has lwpstatus_t. */
#undef HAVE_LWPSTATUS_T

/* Define if <sys/procfs.h> has lwpstatus_t.pr_context. */
#undef HAVE_LWPSTATUS_T_PR_CONTEXT

/* Define if <sys/procfs.h> has lwpstatus_t.pr_fpreg. */
#undef HAVE_LWPSTATUS_T_PR_FPREG

/* Define if <sys/procfs.h> has lwpstatus_t.pr_reg. */
#undef HAVE_LWPSTATUS_T_PR_REG

/* Define if <sys/procfs.h> has lwpxstatus_t. */
#undef HAVE_LWPXSTATUS_T

/* Define to 1 if you have the `madvise' function. */
#undef HAVE_MADVISE

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

/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP

/* Define to 1 if you have the `mprotect' function. */
#undef HAVE_MPROTECT

/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H

/* Define if <sys/procfs.h> has prpsinfo32_t. */
#undef HAVE_PRPSINFO32_T

/* Define if <sys/procfs.h> has prpsinfo32_t.pr_pid. */
#undef HAVE_PRPSINFO32_T_PR_PID

/* Define if <sys/procfs.h> has prpsinfo_t. */
#undef HAVE_PRPSINFO_T

/* Define if <sys/procfs.h> has prpsinfo_t.pr_pid. */
#undef HAVE_PRPSINFO_T_PR_PID

/* Define if <sys/procfs.h> has prstatus32_t. */
#undef HAVE_PRSTATUS32_T

/* Define if <sys/procfs.h> has prstatus32_t.pr_who. */
#undef HAVE_PRSTATUS32_T_PR_WHO

/* Define if <sys/procfs.h> has prstatus_t. */
#undef HAVE_PRSTATUS_T

/* Define if <sys/procfs.h> has prstatus_t.pr_who. */
#undef HAVE_PRSTATUS_T_PR_WHO

/* Define if <sys/procfs.h> has psinfo32_t. */
#undef HAVE_PSINFO32_T

/* Define if <sys/procfs.h> has psinfo32_t.pr_pid. */
#undef HAVE_PSINFO32_T_PR_PID

/* Define if <sys/procfs.h> has psinfo_t. */
#undef HAVE_PSINFO_T

/* Define if <sys/procfs.h> has psinfo_t.pr_pid. */
#undef HAVE_PSINFO_T_PR_PID

/* Define if <sys/procfs.h> has pstatus32_t. */
#undef HAVE_PSTATUS32_T

/* Define if <sys/procfs.h> has pstatus_t. */
#undef HAVE_PSTATUS_T

/* Define if <sys/procfs.h> has pxstatus_t. */
#undef HAVE_PXSTATUS_T

/* Define to 1 if you have the `setitimer' function. */
#undef HAVE_SETITIMER

/* 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 <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 `strtoull' function. */
#undef HAVE_STRTOULL

/* Define if struct core_dumpx has member c_impl */
#undef HAVE_ST_C_IMPL

/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF

/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
   */
#undef HAVE_SYS_DIR_H

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

/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
   */
#undef HAVE_SYS_NDIR_H

/* Define to 1 if you have the <sys/procfs.h> header file. */
#undef HAVE_SYS_PROCFS_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/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.h> header file. */
#undef HAVE_TIME_H

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

/* Define if <sys/procfs.h> has win32_pstatus_t. */
#undef HAVE_WIN32_PSTATUS_T

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

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* 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 home page for this package. */
#undef PACKAGE_URL

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

/* The size of `char', as computed by sizeof. */
#undef SIZEOF_CHAR

/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT

/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG

/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG

/* The size of `off_t', as computed by sizeof. */
#undef SIZEOF_OFF_T

/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT

/* The size of `void *', as computed by sizeof. */
#undef SIZEOF_VOID_P

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

/* Define if you can safely include both <string.h> and <strings.h>. */
#undef STRING_WITH_STRINGS

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

/* Name of host specific header file to include in trad-core.c. */
#undef TRAD_HEADER

/* Use b modifier when opening binary files? */
#undef USE_BINARY_FOPEN

/* Define if we should use leading underscore on 64 bit mingw targets */
#undef USE_MINGW64_LEADING_UNDERSCORES

/* Use mmap if it's available? */
#undef USE_MMAP

/* Define if we should default to creating read-only plt entries */
#undef USE_SECUREPLT

/* Define if we may generate symbols with ELF's STT_COMMON type */
#undef USE_STT_COMMON

/* Enable extensions on AIX 3, Interix.  */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris.  */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop.  */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris.  */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif


/* Version number of package */
#undef VERSION

/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS

/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES

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