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

/* Define to 1 if you have the `bsearch' function. */
/* #undef HAVE_BSEARCH */

/* Define to 1 if you have the `getpwnam' function. */
/* #undef HAVE_GETPWNAM */

/* Define to 1 if you have the `getrlimit' function. */
/* #undef HAVE_GETRLIMIT */

/* Define to 1 if you have the `isalpha' function. */
/* #undef HAVE_ISALPHA */

/* Define to 1 if you have the `killpg' function. */
/* #undef HAVE_KILLPG */

/* Define to 1 if you have the `mempcpy' function. */
/* #undef HAVE_MEMPCPY */

/* Define to 1 if you have the `sigsetmask' function. */
/* #undef HAVE_SIGSETMASK */

/* Define to 1 if you have the `stpcpy' function. */
/* #undef HAVE_STPCPY */

/* Define to 1 if you have the `strchrnul' function. */
/* #undef HAVE_STRCHRNUL */

/* Define to 1 if you have the `strsignal' function. */
/* #undef HAVE_STRSIGNAL */

/* Define to 1 if you have the `strtod' function. */
/* #undef HAVE_STRTOD */

/* Define to 1 if you have the `strtoimax' function. */
#define HAVE_STRTOIMAX 1

/* Define to 1 if you have the `strtoumax' function. */
#define HAVE_STRTOUMAX 1

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

/* Name of package */
#define PACKAGE "dash"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""

/* Define to the full name of this package. */
#define PACKAGE_NAME "dash"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "dash 0.5.2"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "dash"

/* Define to the version of this package. */
#define PACKAGE_VERSION "0.5.2"

/* Version number of package */
#define VERSION "0.5.2"

/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif

/* 64-bit operations are the same as 32-bit */
#define fstat64 fstat

/* 64-bit operations are the same as 32-bit */
#define lstat64 lstat

/* 64-bit operations are the same as 32-bit */
#define open64 open

/* klibc has bsd_signal instead of signal */
#define signal bsd_signal

/* 64-bit operations are the same as 32-bit */
#define stat64 stat
