/* include/poolalloc/Config/config.h.in.  Generated from autoconf/configure.ac by autoheader.  */

/* Define if dlopen(0) will open the symbols of the program */
#cmakedefine CAN_DLOPEN_SELF

/* 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.
   */
#cmakedefine CRAY_STACKSEG_END

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

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

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

/* Define to 1 if you have the `argz_append' function. */
#cmakedefine HAVE_ARGZ_APPEND

/* Define to 1 if you have the `argz_create_sep' function. */
#cmakedefine HAVE_ARGZ_CREATE_SEP

/* Define to 1 if you have the <argz.h> header file. */
#cmakedefine HAVE_ARGZ_H

/* Define to 1 if you have the `argz_insert' function. */
#cmakedefine HAVE_ARGZ_INSERT

/* Define to 1 if you have the `argz_next' function. */
#cmakedefine HAVE_ARGZ_NEXT

/* Define to 1 if you have the `argz_stringify' function. */
#cmakedefine HAVE_ARGZ_STRINGIFY

/* Define to 1 if you have the <assert.h> header file. */
#cmakedefine HAVE_ASSERT_H

/* Define to 1 if you have the `backtrace' function. */
#cmakedefine HAVE_BACKTRACE

/* Define to 1 if you have the `bcopy' function. */
#cmakedefine HAVE_BCOPY

/* Does not have bi-directional iterator */
#cmakedefine HAVE_BI_ITERATOR

/* Define to 1 if you have the `closedir' function. */
#cmakedefine HAVE_CLOSEDIR

/* Define to 1 if you have the <ctype.h> header file. */
#cmakedefine HAVE_CTYPE_H

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

/* Define if you have the GNU dld library. */
#cmakedefine HAVE_DLD

/* Define to 1 if you have the <dld.h> header file. */
#cmakedefine HAVE_DLD_H

/* Define to 1 if you have the `dlerror' function. */
#cmakedefine HAVE_DLERROR

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

/* Define if dlopen() is available on this platform. */
#cmakedefine HAVE_DLOPEN

/* Define to 1 if you have the <dl.h> header file. */
#cmakedefine HAVE_DL_H

/* Define if you have the _dyld_func_lookup function. */
#cmakedefine HAVE_DYLD

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

/* Define to 1 if the system has the type `error_t'. */
#cmakedefine HAVE_ERROR_T

/* Define to 1 if you have the <execinfo.h> header file. */
#cmakedefine HAVE_EXECINFO_H

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

/* Set to 1 if the finite function is found in <ieeefp.h> */
#cmakedefine HAVE_FINITE_IN_IEEEFP_H

/* Does not have forward iterator */
#cmakedefine HAVE_FWD_ITERATOR

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

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

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

/* Define to 1 if you have the `gettimeofday' function. */
#cmakedefine HAVE_GETTIMEOFDAY

/* Does not have <hash_map> */
#cmakedefine HAVE_GLOBAL_HASH_MAP

/* Does not have hash_set in global namespace */
#cmakedefine HAVE_GLOBAL_HASH_SET

/* Does not have ext/hash_map */
#cmakedefine HAVE_GNU_EXT_HASH_MAP

/* Does not have hash_set in gnu namespace */
#cmakedefine HAVE_GNU_EXT_HASH_SET

/* Define to 1 if you have the `index' function. */
#cmakedefine HAVE_INDEX

/* Define to 1 if the system has the type `int64_t'. */
#cmakedefine HAVE_INT64_T

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

/* Define to 1 if you have the `isatty' function. */
#cmakedefine HAVE_ISATTY

/* Set to 1 if the isinf function is found in <cmath> */
#cmakedefine HAVE_ISINF_IN_CMATH

/* Set to 1 if the isinf function is found in <math.h> */
#cmakedefine HAVE_ISINF_IN_MATH_H

/* Set to 1 if the isnan function is found in <cmath> */
#cmakedefine HAVE_ISNAN_IN_CMATH

/* Set to 1 if the isnan function is found in <math.h> */
#cmakedefine HAVE_ISNAN_IN_MATH_H

/* Define if you have the libdl library or equivalent. */
#cmakedefine HAVE_LIBDL

/* Define to 1 if you have the `elf' library (-lelf). */
#cmakedefine HAVE_LIBELF

/* Define to 1 if you have the <limits.h> header file. */
#cmakedefine HAVE_LIMITS_H

/* Define to 1 if you have the <link.h> header file. */
#cmakedefine HAVE_LINK_H

/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
   the current directory to the dynamic linker search path. */
#cmakedefine HAVE_LINK_R

/* Define if lt_dlopen() is available on this platform */
#cmakedefine HAVE_LT_DLOPEN

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

/* Define if mallinfo() is available on this platform. */
#cmakedefine HAVE_MALLINFO

/* Define to 1 if you have the <malloc.h> header file. */
#cmakedefine HAVE_MALLOC_H

/* Define to 1 if you have the `memcpy' function. */
#cmakedefine HAVE_MEMCPY

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

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

/* Define to 1 if you have the `mkdtemp' function. */
#cmakedefine HAVE_MKDTEMP

/* Define to 1 if you have the `mkstemp' function. */
#cmakedefine HAVE_MKSTEMP

/* Define to 1 if you have the `mktemp' function. */
#cmakedefine HAVE_MKTEMP

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

/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or cmakedefineine if
   it uses MAP_ANON */
#cmakedefine HAVE_MMAP_ANONYMOUS

/* Define if mmap() can map files into memory */
#cmakedefine HAVE_MMAP_FILE

/* define if the compiler implements namespaces */
#cmakedefine HAVE_NAMESPACES

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

/* Define to 1 if you have the `opendir' function. */
#cmakedefine HAVE_OPENDIR

/* Define if libtool can extract symbol lists from object files. */
#cmakedefine HAVE_PRELOADED_SYMBOLS

/* Define to have the %a format string */
#cmakedefine HAVE_PRINTF_A

/* Have pthread_mutex_lock */
#cmakedefine HAVE_PTHREAD_MUTEX_LOCK

/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
#cmakedefine HAVE_RAND48

/* Define to 1 if you have the `readdir' function. */
#cmakedefine HAVE_READDIR

/* Define to 1 if you have the `realpath' function. */
#cmakedefine HAVE_REALPATH

/* Define to 1 if you have the `rindex' function. */
#cmakedefine HAVE_RINDEX

/* Define to 1 if you have the <rw/stdex/hash_map.h> header file. */
#cmakedefine HAVE_RW_STDEX_HASH_MAP_H

/* Define to 1 if you have the <rw/stdex/hash_set.h> header file. */
#cmakedefine HAVE_RW_STDEX_HASH_SET_H

/* Define to 1 if you have the `sbrk' function. */
#cmakedefine HAVE_SBRK

/* Define to 1 if you have the `setrlimit' function. */
#cmakedefine HAVE_SETRLIMIT

/* Define if you have the shl_load function. */
#cmakedefine HAVE_SHL_LOAD

/* Define to 1 if you have the <signal.h> header file. */
#cmakedefine HAVE_SIGNAL_H

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

/* Define to 1 if you have the <stdio.h> header file. */
#cmakedefine HAVE_STDIO_H

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

/* Does not have ext/hash_map> */
#cmakedefine HAVE_STD_EXT_HASH_MAP

/* Does not have hash_set in std namespace */
#cmakedefine HAVE_STD_EXT_HASH_SET

/* Set to 1 if the std::isinf function is found in <cmath> */
#cmakedefine HAVE_STD_ISINF_IN_CMATH

/* Set to 1 if the std::isnan function is found in <cmath> */
#cmakedefine HAVE_STD_ISNAN_IN_CMATH

/* Does not have std namespace iterator */
#cmakedefine HAVE_STD_ITERATOR

/* Define to 1 if you have the `strchr' function. */
#cmakedefine HAVE_STRCHR

/* Define to 1 if you have the `strcmp' function. */
#cmakedefine HAVE_STRCMP

/* Define to 1 if you have the `strdup' function. */
#cmakedefine HAVE_STRDUP

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

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

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

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

/* Define to 1 if you have the `strrchr' function. */
#cmakedefine HAVE_STRRCHR

/* Define to 1 if you have the `strtoll' function. */
#cmakedefine HAVE_STRTOLL

/* Define to 1 if you have the `strtoq' function. */
#cmakedefine HAVE_STRTOQ

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

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

/* Define to 1 if you have the <sys/dl.h> header file. */
#cmakedefine HAVE_SYS_DL_H

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

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

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

/* Define to 1 if you have the <sys/resource.h> header file. */
#cmakedefine HAVE_SYS_RESOURCE_H

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

/* Define to 1 if you have the <sys/time.h> header file. */
#cmakedefine HAVE_SYS_TIME_H

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

/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#cmakedefine HAVE_SYS_WAIT_H

/* Define to 1 if the system has the type `uint64_t'. */
#cmakedefine HAVE_UINT64_T

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

/* Define to 1 if you have the <utime.h> header file. */
#cmakedefine HAVE_UTIME_H

/* Define to 1 if the system has the type `u_int64_t'. */
#cmakedefine HAVE_U_INT64_T

/* Define to 1 if you have the <windows.h> header file. */
#cmakedefine HAVE_WINDOWS_H

/* Installation directory for binary executables */
#cmakedefine LLVM_BINDIR

/* Time at which LLVM was configured */
#cmakedefine LLVM_CONFIGTIME

/* Installation directory for documentation */
#cmakedefine LLVM_DATADIR

/* Installation directory for config files */
#cmakedefine LLVM_ETCDIR

/* Installation directory for include files */
#cmakedefine LLVM_INCLUDEDIR

/* Installation directory for .info files */
#cmakedefine LLVM_INFODIR

/* Installation directory for libraries */
#cmakedefine LLVM_LIBDIR

/* Installation directory for man pages */
#cmakedefine LLVM_MANDIR

/* Define if this is Unixish platform */
#cmakedefine LLVM_ON_UNIX

/* Define if this is Win32ish platform */
#cmakedefine LLVM_ON_WIN32

/* Installation prefix directory */
#cmakedefine LLVM_PREFIX

/* Define if the OS needs help to load dependent libraries for dlopen(). */
#cmakedefine LTDL_DLOPEN_DEPLIBS

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

/* Define to the name of the environment variable that determines the dynamic
   library search path. */
#cmakedefine LTDL_SHLIBPATH_VAR

/* Define to the extension used for shared libraries, say, ".so". */
#cmakedefine LTDL_SHLIB_EXT

/* Define to the system default library search path. */
#cmakedefine LTDL_SYSSEARCHPATH

/* Define if /dev/zero should be used when mapping RWX memory, or cmakedefineine if
   its not necessary */
#cmakedefine NEED_DEV_ZERO_FOR_MMAP

/* Define if dlsym() requires a leading underscore in symbol names. */
#cmakedefine NEED_USCORE

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

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

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

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

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

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

/* 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 run-time.
	STACK_DIRECTION > 0 => grows toward higher addresses
	STACK_DIRECTION < 0 => grows toward lower addresses
	STACK_DIRECTION = 0 => direction of growth unknown */
#cmakedefine STACK_DIRECTION

/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#cmakedefine STAT_MACROS_BROKEN

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

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

/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#cmakedefine TM_IN_SYS_TIME

/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
   `char[]'. */
#cmakedefine YYTEXT_POINTER

/* Define to empty if `const' does not conform to ANSI C. */
#cmakedefine const

/* Define to a type to use for `error_t' if it is not otherwise available. */
#cmakedefine error_t

/* Define to `int' if <sys/types.h> does not define. */
#cmakedefine pid_t

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

/* Define to 1 if compiling for pool inference */
#cmakedefine LLVA_KERNEL

