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

/* 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 mempcpy function.  */
#undef HAVE_MEMPCPY

/* 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 snprintf function.  */
#undef HAVE_SNPRINTF

/* Define if you have the stpcpy function.  */
#undef HAVE_STPCPY

/* Define if you have the stpncpy function.  */
#undef HAVE_STPNCPY

/* 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 vsnprintf function.  */
#undef HAVE_VSNPRINTF

/* 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 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 if you have the _system_configuration variable. */
#undef HAVE__SYSTEM_CONFIGURATION

/* 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 canonicalize_file_name is not declared in system header files. */
#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME

