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

/* Define to empty if the keyword does not work.  */
#undef const

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

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

/* Define if you have <vfork.h>.  */
#undef HAVE_VFORK_H

/* Define as __inline if that's what the C compiler calls it.  */
#undef inline

/* Define if your C compiler doesn't accept -c and -o together.  */
#undef NO_MINUS_C_MINUS_O

/* Define to `int' if <sys/types.h> doesn't define.  */
#undef pid_t

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

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

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

/* Define vfork as fork if vfork does not work.  */
#undef vfork

/* Define to `unsigned long' if <sys/types.h> doesn't define.  */
#undef uintptr_t

/* Define if you have the _doprnt function.  */
#undef HAVE__DOPRNT

/* Define if you have the asprintf function.  */
#undef HAVE_ASPRINTF

/* Define if you have the atexit function.  */
#undef HAVE_ATEXIT

/* Define if you have the basename function.  */
#undef HAVE_BASENAME

/* 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 calloc function.  */
#undef HAVE_CALLOC

/* Define if you have the canonicalize_file_name function.  */
#undef HAVE_CANONICALIZE_FILE_NAME

/* Define if you have the clock function.  */
#undef HAVE_CLOCK

/* Define if you have the ffs function.  */
#undef HAVE_FFS

/* Define if you have the getcwd function.  */
#undef HAVE_GETCWD

/* Define if you have the getpagesize function.  */
#undef HAVE_GETPAGESIZE

/* Define if you have the getrusage function.  */
#undef HAVE_GETRUSAGE

/* Define if you have the getsysinfo function.  */
#undef HAVE_GETSYSINFO

/* 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 insque function.  */
#undef HAVE_INSQUE

/* Define if you have the memchr function.  */
#undef HAVE_MEMCHR

/* Define if you have the memcmp function.  */
#undef HAVE_MEMCMP

/* Define if you have the memcpy function.  */
#undef HAVE_MEMCPY

/* Define if you have the memmove function.  */
#undef HAVE_MEMMOVE

/* Define if you have the memset function.  */
#undef HAVE_MEMSET

/* Define if you have the mkstemps function.  */
#undef HAVE_MKSTEMPS

/* Define if you have the on_exit function.  */
#undef HAVE_ON_EXIT

/* Define if you have the psignal function.  */
#undef HAVE_PSIGNAL

/* Define if you have the pstat_getdynamic function.  */
#undef HAVE_PSTAT_GETDYNAMIC

/* Define if you have the pstat_getstatic function.  */
#undef HAVE_PSTAT_GETSTATIC

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

/* Define if you have the random function.  */
#undef HAVE_RANDOM

/* Define if you have the realpath function.  */
#undef HAVE_REALPATH

/* Define if you have the rename function.  */
#undef HAVE_RENAME

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

/* Define if you have the sbrk function.  */
#undef HAVE_SBRK

/* Define if you have the setenv function.  */
#undef HAVE_SETENV

/* Define if you have the sigsetmask function.  */
#undef HAVE_SIGSETMASK

/* Define if you have the strcasecmp function.  */
#undef HAVE_STRCASECMP

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

/* Define if you have the strdup function.  */
#undef HAVE_STRDUP

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

/* Define if you have the strncasecmp function.  */
#undef HAVE_STRNCASECMP

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

/* Define if you have the strsignal function.  */
#undef HAVE_STRSIGNAL

/* Define if you have the strstr function.  */
#undef HAVE_STRSTR

/* Define if you have the strtod function.  */
#undef HAVE_STRTOD

/* Define if you have the strtol function.  */
#undef HAVE_STRTOL

/* 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 sysctl function.  */
#undef HAVE_SYSCTL

/* Define if you have the sysmp function.  */
#undef HAVE_SYSMP

/* Define if you have the table function.  */
#undef HAVE_TABLE

/* Define if you have the times function.  */
#undef HAVE_TIMES

/* Define if you have the tmpnam function.  */
#undef HAVE_TMPNAM

/* Define if you have the vasprintf function.  */
#undef HAVE_VASPRINTF

/* Define if you have the vfprintf function.  */
#undef HAVE_VFPRINTF

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

/* Define if you have the vsprintf function.  */
#undef HAVE_VSPRINTF

/* Define if you have the waitpid function.  */
#undef HAVE_WAITPID

/* Define if you have the <alloca.h> header file.  */
#undef HAVE_ALLOCA_H

/* 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 <machine/hal_sysinfo.h> header file.  */
#undef HAVE_MACHINE_HAL_SYSINFO_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/mman.h> header file.  */
#undef HAVE_SYS_MMAN_H

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

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

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

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

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

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

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

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

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

/* Define if you have the <sys/time.h> header file.  */
#undef HAVE_SYS_TIME_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 <malloc.h> header file.  */
#undef HAVE_MALLOC_H

/* Define if errno must be declared even when <errno.h> is included. */
#undef NEED_DECLARATION_ERRNO

/* Define if you have the `uintptr_t' type. */
#undef HAVE_UINTPTR_T

/* Define if you have the sys_errlist variable. */
#undef HAVE_SYS_ERRLIST

/* Define if you have the sys_nerr variable. */
#undef HAVE_SYS_NERR

/* Define if you have the sys_siglist variable. */
#undef HAVE_SYS_SIGLIST

/* 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 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 */
#undef STACK_DIRECTION

/* Define if you have the _system_configuration variable. */
#undef HAVE__SYSTEM_CONFIGURATION

/* Define if canonicalize_file_name is not declared in system header files. */
#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME

