/* config.in.  Generated automatically from configure.in by autoheader.  */
/* Define if printf supports "%p".  */
#undef HAVE_PRINTF_PTR

/* Define if you want expensive run-time checks. */
#undef ENABLE_CHECKING

/* Define if your cpp understands the stringify operator.  */
#undef HAVE_CPP_STRINGIFY

/* Define if your compiler understands volatile.  */
#undef HAVE_VOLATILE

/* Define if your assembler supports specifying the maximum number
   of bytes to skip when using the GAS .p2align command. */
#undef HAVE_GAS_MAX_SKIP_P2ALIGN

/* Define if your assembler supports .balign and .p2align.  */
#undef HAVE_GAS_BALIGN_AND_P2ALIGN

/* Define if you have a working <inttypes.h> header file.  */
#undef HAVE_INTTYPES_H

/* Whether malloc must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_MALLOC

/* Whether realloc must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_REALLOC

/* Whether calloc must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_CALLOC

/* Whether free must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_FREE

/* Whether bcopy must be declared even if <string.h> is included.  */
#undef NEED_DECLARATION_BCOPY

/* Whether bcmp must be declared even if <string.h> is included.  */
#undef NEED_DECLARATION_BCMP

/* Whether bzero must be declared even if <string.h> is included.  */
#undef NEED_DECLARATION_BZERO

/* Whether index must be declared even if <string.h> is included.  */
#undef NEED_DECLARATION_INDEX

/* Whether rindex must be declared even if <string.h> is included.  */
#undef NEED_DECLARATION_RINDEX

/* Whether getenv must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_GETENV

/* Whether atol must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_ATOL

/* Whether sbrk must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_SBRK

/* Whether abort must be declared even if <stdlib.h> is included.  */
#undef NEED_DECLARATION_ABORT

/* Whether strerror must be declared even if <string.h> is included.  */
#undef NEED_DECLARATION_STRERROR

/* Whether getcwd must be declared even if <unistd.h> is included.  */
#undef NEED_DECLARATION_GETCWD

/* Whether getwd must be declared even if <unistd.h> is included.  */
#undef NEED_DECLARATION_GETWD

/* Whether getrlimit must be declared even if <sys/resource.h> is included.  */
#undef NEED_DECLARATION_GETRLIMIT

/* Whether setrlimit must be declared even if <sys/resource.h> is included.  */
#undef NEED_DECLARATION_SETRLIMIT

/* Define if you want expensive run-time checks. */
#undef ENABLE_CHECKING

/* Define if you don't have vprintf but do have _doprnt.  */
#undef HAVE_DOPRNT

/* Define if you have the vprintf function.  */
#undef HAVE_VPRINTF

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

/* Define if `sys_siglist' is declared by <signal.h>.  */
#undef SYS_SIGLIST_DECLARED

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

/* Define if you have the atoll function.  */
#undef HAVE_ATOLL

/* Define if you have the atoq function.  */
#undef HAVE_ATOQ

/* Define if you have the bcmp function.  */
#undef HAVE_BCMP

/* Define if you have the bcopy function.  */
#undef HAVE_BCOPY

/* Define if you have the bsearch function.  */
#undef HAVE_BSEARCH

/* Define if you have the bzero function.  */
#undef HAVE_BZERO

/* Define if you have the getrlimit function.  */
#undef HAVE_GETRLIMIT

/* Define if you have the gettimeofday function.  */
#undef HAVE_GETTIMEOFDAY

/* Define if you have the index function.  */
#undef HAVE_INDEX

/* Define if you have the isascii function.  */
#undef HAVE_ISASCII

/* Define if you have the kill function.  */
#undef HAVE_KILL

/* Define if you have the popen function.  */
#undef HAVE_POPEN

/* Define if you have the putenv function.  */
#undef HAVE_PUTENV

/* Define if you have the rindex function.  */
#undef HAVE_RINDEX

/* Define if you have the setrlimit function.  */
#undef HAVE_SETRLIMIT

/* Define if you have the strchr function.  */
#undef HAVE_STRCHR

/* Define if you have the strerror function.  */
#undef HAVE_STRERROR

/* Define if you have the strrchr function.  */
#undef HAVE_STRRCHR

/* Define if you have the strtoul function.  */
#undef HAVE_STRTOUL

/* Define if you have the sysconf function.  */
#undef HAVE_SYSCONF

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

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

/* Define if you have the <stab.h> header file.  */
#undef HAVE_STAB_H

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

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

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

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

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

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

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

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

/* Define if you have the <sys/times.h> header file.  */
#undef HAVE_SYS_TIMES_H

/* Define if you have the <sys/wait.h> header file.  */
#undef HAVE_SYS_WAIT_H

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

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

/* Define if you have the <wait.h> header file.  */
#undef HAVE_WAIT_H
