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

/* Define if your system has a working basename */
#cmakedefine HAVE_BASENAME @HAVE_BASENAME@

/* Define if your system has a working major */
#cmakedefine HAVE_MAJOR @HAVE_MAJOR@

/* Define if your system has a working minor */
#cmakedefine HAVE_MINOR @HAVE_MINOR@

/* Define if your system has a working minor */
#cmakedefine HAVE_MAKEDEV @HAVE_MAKEDEV@

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

/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#cmakedefine HAVE_SYS_SYSMACROS_H @HAVE_SYS_SYSMACROS_H@

/* Define to 1 if the system has the type `dev_t'. */
#cmakedefine HAVE_DEV_T @HAVE_DEV_T@

/* Define if your system has a working dirname */
#cmakedefine HAVE_DIRNAME @HAVE_DIRNAME@

/* Define to 1 if your system has a working POSIX `fnmatch' function. */
#cmakedefine HAVE_FNMATCH @HAVE_FNMATCH@

/* Define to 1 if you have the <fnmatch.h> header file. */
#cmakedefine HAVE_FNMATCH_H @HAVE_FNMATCH_H@

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

/* Define to 1 if you have the <io.h> header file. */
#cmakedefine HAVE_IO_H @HAVE_IO_H@

/* Define to 1 if you have the `lchown' function. */
#cmakedefine HAVE_LCHOWN @HAVE_LCHOWN@

/* Define to 1 if you have the <libgen.h> header file. */
#cmakedefine HAVE_LIBGEN_H @HAVE_LIBGEN_H@

/* Define to 1 if you have the `z' library (-lz). */
#cmakedefine HAVE_LIBZ @HAVE_LIBZ@

/* Define to 1 if the system has the type `major_t'. */
#cmakedefine HAVE_MAJOR_T @HAVE_MAJOR_T@

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

/* Define to 1 if you have the <dirent.h> header file. */
#cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@

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

/* Define to 1 if the system has the type `minor_t'. */
#cmakedefine HAVE_MINOR_T @HAVE_MINOR_T@

/* Define to 1 if the system has the type `nlink_t'. */
#cmakedefine HAVE_NLINK_T @HAVE_NLINK_T@

/* Define if your system has a working snprintf */
#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@

/* Define if your system has a working vsnprintf */
#cmakedefine HAVE_VSNPRINTF @HAVE_VSNPRINTF@

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

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

/* Define to 1 if you have the <sys/mkdev.h> header file. */
#cmakedefine HAVE_SYS_MKDEV_H @HAVE_SYS_MKDEV_H@

/* Define if you have the strdup function */
#cmakedefine HAVE_STRDUP @HAVE_STRDUP@

/* Define to 1 if you have the `strftime' function. */
#cmakedefine HAVE_STRFTIME @HAVE_STRFTIME@

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

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

/* Define if you have the strlcpy function */
#cmakedefine HAVE_STRLCPY @HAVE_STRLCPY@

/* Define if you have the strmode function */
#cmakedefine HAVE_STRMODE @HAVE_STRMODE@

/* Define if you have the strsep function */
#cmakedefine HAVE_STRSEP @HAVE_STRSEP@

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

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

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

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

/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
   */
#cmakedefine MAJOR_IN_MKDEV @MAJOR_IN_MKDEV@

/* Define to 1 if `major', `minor', and `makedev' are declared in
   <sysmacros.h>. */
#cmakedefine MAJOR_IN_SYSMACROS @MAJOR_IN_SYSMACROS@

/* Define as 1 if makedev expects three arguments */
#cmakedefine MAKEDEV_THREE_ARGS @MAKEDEV_THREE_ARGS@

/* Define if you want to use the basename function */
#cmakedefine NEED_BASENAME @NEED_BASENAME@

/* Define if you want to use the dirname function */
#cmakedefine NEED_DIRNAME @NEED_DIRNAME@

/* Define if you want to use the fnmatch function */
#cmakedefine NEED_FNMATCH @NEED_FNMATCH@

/* Define if you want to use the makedev function */
#cmakedefine NEED_MAKEDEV @NEED_MAKEDEV@

/* Define if you want to use the snprintf function */
#cmakedefine NEED_SNPRINTF @NEED_SNPRINTF@

/* Define if you want to use the strdup function */
#cmakedefine NEED_STRDUP @NEED_STRDUP@

/* Define if you want to use the strlcpy function */
#cmakedefine NEED_STRLCPY @NEED_STRLCPY@

/* Define if you want to use the strmode function */
#cmakedefine NEED_STRMODE @NEED_STRMODE@

/* Define if you want to use the strsep function */
#cmakedefine NEED_STRSEP @NEED_STRSEP@

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

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

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

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

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

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

/* Define to 1 if on AIX 3.
   System headers sometimes define this.
   We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
#cmakedefine _ALL_SOURCE @_ALL_SOURCE@
#endif

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

/* Define to `unsigned long' if not defined in system header files. */
#cmakedefine dev_t @dev_t@

/* Define to `int' if <sys/types.h> doesn't define. */
#cmakedefine gid_t @gid_t@

/* Define to `unsigned int' if not defined in system header files. */
#cmakedefine major_t @major_t@

/* Define to `unsigned int' if not defined in system header files. */
#cmakedefine minor_t @minor_t@

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

/* Define to `unsigned short' if not defined in system header files. */
#cmakedefine nlink_t @nlink_t@

/* Define to `long' if <sys/types.h> does not define. */
#cmakedefine off_t @off_t@

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

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

/* Define to `int' if <sys/types.h> doesn't define. */
#cmakedefine uid_t @uid_t@

/* Define to `long long' if not defined in system header files. */
#cmakedefine uint64_t @uint64_t@

#define CMTAR_ZLIB_HEADER "@CMTAR_ZLIB_HEADER@"
