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

#define _GNU_SOURCE  1

/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD

/* disable basic Auth support */
#undef BAUTH_SUPPORT

/* This is a Cygwin system */
#undef CYGWIN

/* disable digest Auth support */
#undef DAUTH_SUPPORT

/* define to 0 to disable epoll support */
#undef EPOLL_SUPPORT

/* This is a FreeBSD system */
#undef FREEBSD

/* Define to 1 if you have the `accept4' function. */
#undef HAVE_ACCEPT4

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

/* Have clock_gettime */
#undef HAVE_CLOCK_GETTIME

/* Define to 1 if you have the declaration of `SOCK_NONBLOCK', and to 0 if you
   don't. */
#undef HAVE_DECL_SOCK_NONBLOCK

/* Define to 1 if you have the declaration of `TCP_CORK', and to 0 if you
   don't. */
#undef HAVE_DECL_TCP_CORK

/* Define to 1 if you have the declaration of `TCP_NOPUSH', and to 0 if you
   don't. */
#undef HAVE_DECL_TCP_NOPUSH

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

/* Define if you have epoll_create1 function. */
#undef HAVE_EPOLL_CREATE1

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

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

/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#undef HAVE_FSEEKO

/* Define to 1 if you have the <gcrypt.h> header file. */
#undef HAVE_GCRYPT_H

/* Define to 1 if you have `gmtime_s' function (only for W32). */
#undef HAVE_GMTIME_S

/* Define to 1 if you have the <gnutls/gnutls.h> header file. */
#undef HAVE_GNUTLS_GNUTLS_H

/* Provides IPv6 headers */
#undef HAVE_INET6

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

/* Define to 1 if you have a functional curl library. */
#undef HAVE_LIBCURL

/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H

/* can use shutdown on listen sockets */
#undef HAVE_LISTEN_SHUTDOWN

/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H

/* Define to 1 if you have the <magic.h> header file. */
#undef HAVE_MAGIC_H

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

/* Define to 1 if you have the `memmem' function. */
#undef HAVE_MEMMEM

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

/* Disable error messages */
#undef HAVE_MESSAGES

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

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

/* Define to 1 if you have the <netinet/tcp.h> header file. */
#undef HAVE_NETINET_TCP_H

/* Define to 1 if you have the <openssl/engine.h> header file. */
#undef HAVE_OPENSSL_ENGINE_H

/* Define to 1 if you have the <openssl/err.h> header file. */
#undef HAVE_OPENSSL_ERR_H

/* Define to 1 if you have the <openssl/evp.h> header file. */
#undef HAVE_OPENSSL_EVP_H

/* Define to 1 if you have the <openssl/pem.h> header file. */
#undef HAVE_OPENSSL_PEM_H

/* Define to 1 if you have the <openssl/rand.h> header file. */
#undef HAVE_OPENSSL_RAND_H

/* Define to 1 if you have the <openssl/rsa.h> header file. */
#undef HAVE_OPENSSL_RSA_H

/* Define to 1 if you have the <openssl/sha.h> header file. */
#undef HAVE_OPENSSL_SHA_H

/* Define to 1 if you have the `poll' function. */
#undef HAVE_POLL

/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H

/* define to 1 if MHD was build with postprocessor.c */
#undef HAVE_POSTPROCESSOR

/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H

/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT

/* Define if you have pthread_setname_np function. */
#undef HAVE_PTHREAD_SETNAME_NP

/* Define to 1 if you have the <search.h> header file. */
#undef HAVE_SEARCH_H

/* Do we have sockaddr_in.sin_len? */
#undef HAVE_SOCKADDR_IN_SIN_LEN

/* SOCK_NONBLOCK is defined in a socket header */
#undef HAVE_SOCK_NONBLOCK

/* Define to 1 if you have the <spdylay/spdylay.h> header file. */
#undef HAVE_SPDYLAY_SPDYLAY_H

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

/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H

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

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

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

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

/* Define to 1 if you have the <sys/msg.h> header file. */
#undef HAVE_SYS_MSG_H

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

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

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

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

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

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

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

/* Define to 1 if you have the <winsock2.h> header file. */
#undef HAVE_WINSOCK2_H

/* Define to 1 if you have the <ws2tcpip.h> header file. */
#undef HAVE_WS2TCPIP_H

/* disable HTTPS support */
#undef HTTPS_SUPPORT

/* Defined if libcurl supports AsynchDNS */
#undef LIBCURL_FEATURE_ASYNCHDNS

/* Defined if libcurl supports IDN */
#undef LIBCURL_FEATURE_IDN

/* Defined if libcurl supports IPv6 */
#undef LIBCURL_FEATURE_IPV6

/* Defined if libcurl supports KRB4 */
#undef LIBCURL_FEATURE_KRB4

/* Defined if libcurl supports libz */
#undef LIBCURL_FEATURE_LIBZ

/* Defined if libcurl supports NTLM */
#undef LIBCURL_FEATURE_NTLM

/* Defined if libcurl supports SSL */
#undef LIBCURL_FEATURE_SSL

/* Defined if libcurl supports SSPI */
#undef LIBCURL_FEATURE_SSPI

/* Defined if libcurl supports DICT */
#undef LIBCURL_PROTOCOL_DICT

/* Defined if libcurl supports FILE */
#undef LIBCURL_PROTOCOL_FILE

/* Defined if libcurl supports FTP */
#undef LIBCURL_PROTOCOL_FTP

/* Defined if libcurl supports FTPS */
#undef LIBCURL_PROTOCOL_FTPS

/* Defined if libcurl supports HTTP */
#undef LIBCURL_PROTOCOL_HTTP

/* Defined if libcurl supports HTTPS */
#undef LIBCURL_PROTOCOL_HTTPS

/* Defined if libcurl supports IMAP */
#undef LIBCURL_PROTOCOL_IMAP

/* Defined if libcurl supports LDAP */
#undef LIBCURL_PROTOCOL_LDAP

/* Defined if libcurl supports POP3 */
#undef LIBCURL_PROTOCOL_POP3

/* Defined if libcurl supports RTSP */
#undef LIBCURL_PROTOCOL_RTSP

/* Defined if libcurl supports SMTP */
#undef LIBCURL_PROTOCOL_SMTP

/* Defined if libcurl supports TELNET */
#undef LIBCURL_PROTOCOL_TELNET

/* Defined if libcurl supports TFTP */
#undef LIBCURL_PROTOCOL_TFTP

/* This is a Linux kernel */
#undef LINUX

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* Define to use pair of sockets instead of pipes for signaling */
#undef MHD_DONT_USE_PIPES

/* gnuTLS lib version - used in conjunction with cURL */
#undef MHD_REQ_CURL_GNUTLS_VERSION

/* NSS lib version - used in conjunction with cURL */
#undef MHD_REQ_CURL_NSS_VERSION

/* required cURL SSL version to run tests */
#undef MHD_REQ_CURL_OPENSSL_VERSION

/* required cURL version to run tests */
#undef MHD_REQ_CURL_VERSION

/* define to use pthreads */
#undef MHD_USE_POSIX_THREADS

/* define to use W32 threads */
#undef MHD_USE_W32_THREADS

/* This is a MinGW system */
#undef MINGW

/* This is a NetBSD system */
#undef NETBSD

/* This is an OpenBSD system */
#undef OPENBSD

/* This is a OS/390 system */
#undef OS390

/* This is an OS X system */
#undef OSX

/* Some strange OS */
#undef OTHEROS

/* Name of package */
#undef PACKAGE

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

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

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

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

/* Define to the home page for this package. */
#undef PACKAGE_URL

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

/* Define to necessary symbol if this constant uses a non-standard name on
   your system. */
#undef PTHREAD_CREATE_JOINABLE

/* This is a Solaris system */
#undef SOLARIS

/* This is a BSD system */
#undef SOMEBSD

/* disable libmicrospdy support */
#undef SPDY_SUPPORT

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

/* Version number of package */
#undef VERSION

/* This is a Windows system */
#undef WINDOWS

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
   significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
#  define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
#  undef WORDS_BIGENDIAN
# endif
#endif

/* Enable large inode numbers on Mac OS X 10.5.  */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif

/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS

/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
#undef _LARGEFILE_SOURCE

/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES

/* defines how to decorate public symbols while building */
#undef _MHD_EXTERN

/* Need with solaris or errno doesnt work */
#undef _REENTRANT

/* Define curl_free() as free() if our version of curl lacks curl_free. */
#undef curl_free
