/* config.h generated manually for macos.  */

/* Define if you have the strftime function.  */
#define HAVE_STRFTIME

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

#define PACKAGE
#define VERSION

#undef HAVE_LIBZ
#undef HAVE_LIBM
#undef HAVE_ISINF
#undef HAVE_ISNAN
#undef HAVE_LIBHISTORY
#undef HAVE_LIBREADLINE

#define XML_SOCKLEN_T socklen_t
#define HAVE_LIBPTHREAD
#define HAVE_PTHREAD_H
#define LIBXML_THREAD_ENABLED

/* Define if you have the _stat function.  */
#define HAVE__STAT

/* Define if you have the class function.  */
#undef HAVE_CLASS

/* Define if you have the finite function.  */
#undef HAVE_FINITE

/* Define if you have the fp_class function.  */
#undef HAVE_FP_CLASS

/* Define if you have the fpclass function.  */
#undef HAVE_FPCLASS

/* Define if you have the fprintf function.  */
#define HAVE_FPRINTF

/* Define if you have the isnand function.  */
#undef HAVE_ISNAND

/* Define if you have the localtime function.  */
#define HAVE_LOCALTIME

/* Define if you have the printf function.  */
#define HAVE_PRINTF

/* Define if you have the signal function.  */
#define HAVE_SIGNAL

/* Define if you have the snprintf function.  */
#define HAVE_SNPRINTF

/* Define if you have the sprintf function.  */
#define HAVE_SPRINTF

/* Define if you have the sscanf function.  */
#define HAVE_SSCANF

/* Define if you have the stat function.  */
#define HAVE_STAT

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

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

/* Define if you have the strftime function.  */
#define HAVE_STRFTIME

/* Define if you have the strndup function.  */
#define HAVE_STRNDUP

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

/* Define if you have the vsnprintf function.  */
#define HAVE_VSNPRINTF

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

/* Define if you have the <ansidecl.h> header file.  */
#define HAVE_ANSIDECL_H

/* Define if you have the <arpa/inet.h> header file.  */
#define HAVE_ARPA_INET_H

/* Define if you have the <ctype.h> header file.  */
#define HAVE_CTYPE_H

/* Define if you have the <dirent.h> header file.  */
#define HAVE_DIRENT_H

/* Define if you have the <dlfcn.h> header file.  */
#define HAVE_DLFCN_H

/* Define if you have the <errno.h> header file.  */
#define HAVE_ERRNO_H

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

/* Define if you have the <float.h> header file.  */
#define HAVE_FLOAT_H

/* Define if you have the <fp_class.h> header file.  */
#define HAVE_FP_CLASS_H

/* Define if you have the <ieeefp.h> header file.  */
#define HAVE_IEEEFP_H

/* Define if you have the <malloc.h> header file.  */
#undef HAVE_MALLOC_H

/* Define if you have the <math.h> header file.  */
#define HAVE_MATH_H

/* Define if you have the <nan.h> header file.  */
#define HAVE_NAN_H

/* Define if you have the <ndir.h> header file.  */
#define HAVE_NDIR_H

/* Define if you have the <netdb.h> header file.  */
#define HAVE_NETDB_H

/* Define if you have the <netinet/in.h> header file.  */
#define HAVE_NETINET_IN_H

/* Define if you have the <signal.h> header file.  */
#define HAVE_SIGNAL_H

/* Define if you have the <stdarg.h> header file.  */
#define HAVE_STDARG_H

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

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

/* Define if you have the <sys/dir.h> header file.  */
#define HAVE_SYS_DIR_H

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

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

/* Define if you have the <sys/select.h> header file.  */
#define HAVE_SYS_SELECT_H

/* Define if you have the <sys/socket.h> header file.  */
#define HAVE_SYS_SOCKET_H

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

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

/* Define if you have the <sys/types.h> header file.  */
#define HAVE_SYS_TYPES_H

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

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

/* Define if you have the <zlib.h> header file.  */
#undef HAVE_ZLIB_H

/* Define if you have the inet library (-linet).  */
#undef HAVE_LIBINET

/* Define if you have the nsl library (-lnsl).  */
#undef HAVE_LIBNSL

/* Define if you have the socket library (-lsocket).  */
#undef HAVE_LIBSOCKET

/* Name of package */
#define PACKAGE

/* Version number of package */
#define VERSION

/* Define if compiler has function prototypes */
#define PROTOTYPES

#include <libxml/xmlversion.h>
#include <sys/types.h>
#include <extra/stricmp.h>
#include <extra/strdup.h>
