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

#ifndef __WINE_CONFIG_H
#define __WINE_CONFIG_H
#ifndef WINE_CROSSTEST

/* Define to a function attribute for Microsoft hotpatch assembly prefix. */
#undef DECLSPEC_HOTPATCH

/* Define to the file extension for executables. */
#undef EXEEXT

/* Define to 1 if you have the `acosh' function. */
#undef HAVE_ACOSH

/* Define to 1 if you have the `acoshf' function. */
#undef HAVE_ACOSHF

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

/* Define to 1 if you have the <alsa/asoundlib.h> header file. */
#undef HAVE_ALSA_ASOUNDLIB_H

/* Define to 1 if you have the <AL/al.h> header file. */
#undef HAVE_AL_AL_H

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

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

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

/* Define to 1 if you have the `asctime_r' function. */
#undef HAVE_ASCTIME_R

/* Define to 1 if you have the `asinh' function. */
#undef HAVE_ASINH

/* Define to 1 if you have the `asinhf' function. */
#undef HAVE_ASINHF

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

/* Define to 1 if you have the <asm/user.h> header file. */
#undef HAVE_ASM_USER_H

/* Define to 1 if you have the `atanh' function. */
#undef HAVE_ATANH

/* Define to 1 if you have the `atanhf' function. */
#undef HAVE_ATANHF

/* Define to 1 if you have the <AudioToolbox/AudioConverter.h> header file. */
#undef HAVE_AUDIOTOOLBOX_AUDIOCONVERTER_H

/* Define to 1 if you have the <AudioUnit/AudioComponent.h> header file. */
#undef HAVE_AUDIOUNIT_AUDIOCOMPONENT_H

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

/* Define to 1 if you have the `AUGraphAddNode' function. */
#undef HAVE_AUGRAPHADDNODE

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

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

/* Define to 1 if you have the `cbrt' function. */
#undef HAVE_CBRT

/* Define to 1 if you have the `cbrtf' function. */
#undef HAVE_CBRTF

/* Define to 1 if you have the `chsize' function. */
#undef HAVE_CHSIZE

/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME

/* Define to 1 if you have the <CL/cl.h> header file. */
#undef HAVE_CL_CL_H

/* Define to 1 if you have the <CommonCrypto/CommonDigest.h> header file. */
#undef HAVE_COMMONCRYPTO_COMMONDIGEST_H

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

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

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

/* Define to 1 if you have the <cups/ppd.h> header file. */
#undef HAVE_CUPS_PPD_H

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

/* Define if you have the daylight variable */
#undef HAVE_DAYLIGHT

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

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

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

/* Define to 1 if you have the `dladdr' function. */
#undef HAVE_DLADDR

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

/* Define to 1 if you have the `dlopen' function. */
#undef HAVE_DLOPEN

/* Define to 1 if you have the <EGL/egl.h> header file. */
#undef HAVE_EGL_EGL_H

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

/* Define to 1 if you have the `epoll_create' function. */
#undef HAVE_EPOLL_CREATE

/* Define to 1 if you have the `erf' function. */
#undef HAVE_ERF

/* Define to 1 if you have the `erfc' function. */
#undef HAVE_ERFC

/* Define to 1 if you have the `erfcf' function. */
#undef HAVE_ERFCF

/* Define to 1 if you have the `erff' function. */
#undef HAVE_ERFF

/* Define to 1 if you have the `exp2' function. */
#undef HAVE_EXP2

/* Define to 1 if you have the `exp2f' function. */
#undef HAVE_EXP2F

/* Define to 1 if you have the `expm1' function. */
#undef HAVE_EXPM1

/* Define to 1 if you have the `expm1f' function. */
#undef HAVE_EXPM1F

/* Define to 1 if you have the `fallocate' function. */
#undef HAVE_FALLOCATE

/* Define to 1 if you have the `ffs' function. */
#undef HAVE_FFS

/* Define to 1 if you have the `finitef' function. */
#undef HAVE_FINITEF

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

/* Define to 1 if you have the `fnmatch' function. */
#undef HAVE_FNMATCH

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

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

/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK

/* Define to 1 if you have the `fpclass' function. */
#undef HAVE_FPCLASS

/* Define if FreeType 2 is installed */
#undef HAVE_FREETYPE

/* Define to 1 if the system has the type `fsblkcnt_t'. */
#undef HAVE_FSBLKCNT_T

/* Define to 1 if the system has the type `fsfilcnt_t'. */
#undef HAVE_FSFILCNT_T

/* Define to 1 if you have the `fstatfs' function. */
#undef HAVE_FSTATFS

/* Define to 1 if you have the `fstatvfs' function. */
#undef HAVE_FSTATVFS

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

/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE

/* Define to 1 if the system has the type `FT_TrueTypeEngineType'. */
#undef HAVE_FT_TRUETYPEENGINETYPE

/* Define to 1 if you have the `futimens' function. */
#undef HAVE_FUTIMENS

/* Define to 1 if you have the `futimes' function. */
#undef HAVE_FUTIMES

/* Define to 1 if you have the `futimesat' function. */
#undef HAVE_FUTIMESAT

/* Define to 1 if you have the `getaddrinfo' function. */
#undef HAVE_GETADDRINFO

/* Define to 1 if you have the `getattrlist' function. */
#undef HAVE_GETATTRLIST

/* Define to 1 if you have the `getauxval' function. */
#undef HAVE_GETAUXVAL

/* Define to 1 if you have the `getifaddrs' function. */
#undef HAVE_GETIFADDRS

/* Define to 1 if you have the `getnameinfo' function. */
#undef HAVE_GETNAMEINFO

/* Define to 1 if you have the `getnetbyname' function. */
#undef HAVE_GETNETBYNAME

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

/* Define to 1 if you have the `getopt_long_only' function. */
#undef HAVE_GETOPT_LONG_ONLY

/* Define to 1 if you have the `getprotobyname' function. */
#undef HAVE_GETPROTOBYNAME

/* Define to 1 if you have the `getprotobynumber' function. */
#undef HAVE_GETPROTOBYNUMBER

/* Define to 1 if you have the `getpwuid' function. */
#undef HAVE_GETPWUID

/* Define to 1 if you have the `getservbyport' function. */
#undef HAVE_GETSERVBYPORT

/* Define to 1 if you have the <gettext-po.h> header file. */
#undef HAVE_GETTEXT_PO_H

/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY

/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID

/* Define to 1 if you have the `gnutls_cipher_init' function. */
#undef HAVE_GNUTLS_CIPHER_INIT

/* Define if we have the libgphoto2 development environment */
#undef HAVE_GPHOTO2

/* Define if we have the libgphoto2_port development environment */
#undef HAVE_GPHOTO2_PORT

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

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

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

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

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

/* Define to 1 if you have the `if_nameindex' function. */
#undef HAVE_IF_NAMEINDEX

/* Define to 1 if you have the `inet_addr' function. */
#undef HAVE_INET_ADDR

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

/* Define to 1 if you have the `inet_network' function. */
#undef HAVE_INET_NETWORK

/* Define to 1 if you have the `inet_ntop' function. */
#undef HAVE_INET_NTOP

/* Define to 1 if you have the `inet_pton' function. */
#undef HAVE_INET_PTON

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

/* Define to 1 if you have the `IOHIDManagerCreate' function. */
#undef HAVE_IOHIDMANAGERCREATE

/* Define to 1 if you have the <IOKit/hid/IOHIDLib.h> header file. */
#undef HAVE_IOKIT_HID_IOHIDLIB_H

/* Define to 1 if you have the <IOKit/IOKitLib.h> header file. */
#undef HAVE_IOKIT_IOKITLIB_H

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

/* Define to 1 if you have the `isfinite' function. */
#undef HAVE_ISFINITE

/* Define to 1 if you have the `isinf' function. */
#undef HAVE_ISINF

/* Define to 1 if you have the `isnan' function. */
#undef HAVE_ISNAN

/* Define to 1 if you have the `isnanf' function. */
#undef HAVE_ISNANF

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

/* Define to 1 if you have the `kqueue' function. */
#undef HAVE_KQUEUE

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

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

/* Define if you have the LittleCMS development environment */
#undef HAVE_LCMS2

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

/* Define if you have the OpenLDAP development environment */
#undef HAVE_LDAP

/* Define to 1 if you have the `ldap_count_references' function. */
#undef HAVE_LDAP_COUNT_REFERENCES

/* Define to 1 if you have the `ldap_first_reference' function. */
#undef HAVE_LDAP_FIRST_REFERENCE

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

/* Define to 1 if you have the `ldap_next_reference' function. */
#undef HAVE_LDAP_NEXT_REFERENCE

/* Define to 1 if you have the `ldap_parse_reference' function. */
#undef HAVE_LDAP_PARSE_REFERENCE

/* Define to 1 if you have the `ldap_parse_sortresponse_control' function. */
#undef HAVE_LDAP_PARSE_SORTRESPONSE_CONTROL

/* Define to 1 if you have the `ldap_parse_sort_control' function. */
#undef HAVE_LDAP_PARSE_SORT_CONTROL

/* Define to 1 if you have the `ldap_parse_vlvresponse_control' function. */
#undef HAVE_LDAP_PARSE_VLVRESPONSE_CONTROL

/* Define to 1 if you have the `ldap_parse_vlv_control' function. */
#undef HAVE_LDAP_PARSE_VLV_CONTROL

/* Define to 1 if you have the `lgamma' function. */
#undef HAVE_LGAMMA

/* Define to 1 if you have the `lgammaf' function. */
#undef HAVE_LGAMMAF

/* Define to 1 if you have the `gettextpo' library (-lgettextpo). */
#undef HAVE_LIBGETTEXTPO

/* Define to 1 if you have the `i386' library (-li386). */
#undef HAVE_LIBI386

/* Define to 1 if you have the `kstat' library (-lkstat). */
#undef HAVE_LIBKSTAT

/* Define to 1 if you have the `ossaudio' library (-lossaudio). */
#undef HAVE_LIBOSSAUDIO

/* Define to 1 if you have the `procstat' library (-lprocstat). */
#undef HAVE_LIBPROCSTAT

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

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

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

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

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

/* Define if you have the libxml2 library */
#undef HAVE_LIBXML2

/* Define to 1 if you have the <libxml/parser.h> header file. */
#undef HAVE_LIBXML_PARSER_H

/* Define to 1 if you have the <libxml/SAX2.h> header file. */
#undef HAVE_LIBXML_SAX2_H

/* Define to 1 if you have the <libxml/xmlsave.h> header file. */
#undef HAVE_LIBXML_XMLSAVE_H

/* Define if you have the X Shape extension */
#undef HAVE_LIBXSHAPE

/* Define to 1 if you have the <libxslt/pattern.h> header file. */
#undef HAVE_LIBXSLT_PATTERN_H

/* Define to 1 if you have the <libxslt/transform.h> header file. */
#undef HAVE_LIBXSLT_TRANSFORM_H

/* Define if you have the X Shm extension */
#undef HAVE_LIBXXSHM

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

/* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */
#undef HAVE_LINUX_22_JOYSTICK_API

/* Define to 1 if you have the <linux/capi.h> header file. */
#undef HAVE_LINUX_CAPI_H

/* Define to 1 if you have the <linux/cdrom.h> header file. */
#undef HAVE_LINUX_CDROM_H

/* Define to 1 if you have the <linux/compiler.h> header file. */
#undef HAVE_LINUX_COMPILER_H

/* Define to 1 if you have the <linux/filter.h> header file. */
#undef HAVE_LINUX_FILTER_H

/* Define if Linux-style gethostbyname_r and gethostbyaddr_r are available */
#undef HAVE_LINUX_GETHOSTBYNAME_R_6

/* Define to 1 if you have the <linux/hdreg.h> header file. */
#undef HAVE_LINUX_HDREG_H

/* Define to 1 if you have the <linux/hidraw.h> header file. */
#undef HAVE_LINUX_HIDRAW_H

/* Define to 1 if you have the <linux/input.h> header file. */
#undef HAVE_LINUX_INPUT_H

/* Define to 1 if you have the <linux/ioctl.h> header file. */
#undef HAVE_LINUX_IOCTL_H

/* Define to 1 if you have the <linux/ipx.h> header file. */
#undef HAVE_LINUX_IPX_H

/* Define to 1 if you have the <linux/irda.h> header file. */
#undef HAVE_LINUX_IRDA_H

/* Define to 1 if you have the <linux/joystick.h> header file. */
#undef HAVE_LINUX_JOYSTICK_H

/* Define to 1 if you have the <linux/major.h> header file. */
#undef HAVE_LINUX_MAJOR_H

/* Define to 1 if you have the <linux/param.h> header file. */
#undef HAVE_LINUX_PARAM_H

/* Define to 1 if you have the <linux/rtnetlink.h> header file. */
#undef HAVE_LINUX_RTNETLINK_H

/* Define to 1 if you have the <linux/serial.h> header file. */
#undef HAVE_LINUX_SERIAL_H

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

/* Define to 1 if you have the <linux/ucdrom.h> header file. */
#undef HAVE_LINUX_UCDROM_H

/* Define to 1 if you have the <linux/videodev2.h> header file. */
#undef HAVE_LINUX_VIDEODEV2_H

/* Define to 1 if you have the <linux/videodev.h> header file. */
#undef HAVE_LINUX_VIDEODEV_H

/* Define to 1 if you have the `llrint' function. */
#undef HAVE_LLRINT

/* Define to 1 if you have the `llrintf' function. */
#undef HAVE_LLRINTF

/* Define to 1 if you have the `llround' function. */
#undef HAVE_LLROUND

/* Define to 1 if you have the `llroundf' function. */
#undef HAVE_LLROUNDF

/* Define to 1 if you have the `log1p' function. */
#undef HAVE_LOG1P

/* Define to 1 if you have the `log1pf' function. */
#undef HAVE_LOG1PF

/* Define to 1 if you have the `log2' function. */
#undef HAVE_LOG2

/* Define to 1 if you have the `log2f' function. */
#undef HAVE_LOG2F

/* Define to 1 if the system has the type `long long'. */
#undef HAVE_LONG_LONG

/* Define to 1 if you have the `lrint' function. */
#undef HAVE_LRINT

/* Define to 1 if you have the `lrintf' function. */
#undef HAVE_LRINTF

/* Define to 1 if you have the `lround' function. */
#undef HAVE_LROUND

/* Define to 1 if you have the `lroundf' function. */
#undef HAVE_LROUNDF

/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT

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

/* Define to 1 if you have the <machine/cpu.h> header file. */
#undef HAVE_MACHINE_CPU_H

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

/* Define to 1 if you have the <machine/sysarch.h> header file. */
#undef HAVE_MACHINE_SYSARCH_H

/* Define to 1 if you have the <mach/machine.h> header file. */
#undef HAVE_MACH_MACHINE_H

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

/* Define to 1 if you have the <mach-o/dyld_images.h> header file. */
#undef HAVE_MACH_O_DYLD_IMAGES_H

/* Define to 1 if you have the <mach-o/loader.h> header file. */
#undef HAVE_MACH_O_LOADER_H

/* Define to 1 if you have the <mach-o/nlist.h> header file. */
#undef HAVE_MACH_O_NLIST_H

/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE

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

/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP

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

/* Define to 1 if the system has the type `mode_t'. */
#undef HAVE_MODE_T

/* Define to 1 if you have the `mousemask' function. */
#undef HAVE_MOUSEMASK

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

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

/* Define to 1 if you have the `nearbyint' function. */
#undef HAVE_NEARBYINT

/* Define to 1 if you have the `nearbyintf' function. */
#undef HAVE_NEARBYINTF

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

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

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

/* Define to 1 if you have the <netinet/if_inarp.h> header file. */
#undef HAVE_NETINET_IF_INARP_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/in_pcb.h> header file. */
#undef HAVE_NETINET_IN_PCB_H

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

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

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

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

/* Define to 1 if you have the <netinet/tcp_fsm.h> header file. */
#undef HAVE_NETINET_TCP_FSM_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 <netinet/tcp_timer.h> header file. */
#undef HAVE_NETINET_TCP_TIMER_H

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

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

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

/* Define to 1 if you have the <netipx/ipx.h> header file. */
#undef HAVE_NETIPX_IPX_H

/* Define to 1 if you have the <net/if_arp.h> header file. */
#undef HAVE_NET_IF_ARP_H

/* Define to 1 if you have the <net/if_dl.h> header file. */
#undef HAVE_NET_IF_DL_H

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

/* Define to 1 if you have the <net/if_types.h> header file. */
#undef HAVE_NET_IF_TYPES_H

/* Define to 1 if you have the <net/route.h> header file. */
#undef HAVE_NET_ROUTE_H

/* Define to 1 if `_msg_ptr' is a member of `ns_msg'. */
#undef HAVE_NS_MSG__MSG_PTR

/* Define to 1 if the system has the type `off_t'. */
#undef HAVE_OFF_T

/* Define if mkdir takes only one argument */
#undef HAVE_ONE_ARG_MKDIR

/* Define to 1 if OpenAL is available */
#undef HAVE_OPENAL

/* Define to 1 if you have the <OpenAL/al.h> header file. */
#undef HAVE_OPENAL_AL_H

/* Define to 1 if you have the <OpenCL/opencl.h> header file. */
#undef HAVE_OPENCL_OPENCL_H

/* Define to 1 if `numaudioengines' is a member of `oss_sysinfo'. */
#undef HAVE_OSS_SYSINFO_NUMAUDIOENGINES

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

/* Define to 1 if you have the `pclose' function. */
#undef HAVE_PCLOSE

/* Define to 1 if the system has the type `pid_t'. */
#undef HAVE_PID_T

/* Define to 1 if you have the `pipe2' function. */
#undef HAVE_PIPE2

/* Define to 1 if you have the <png.h> header file. */
#undef HAVE_PNG_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 you have the `popen' function. */
#undef HAVE_POPEN

/* Define to 1 if you have the `port_create' function. */
#undef HAVE_PORT_CREATE

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

/* Define to 1 if you have the `powl' function. */
#undef HAVE_POWL

/* Define if we can use ppdev.h for parallel port access */
#undef HAVE_PPDEV

/* Define to 1 if you have the `prctl' function. */
#undef HAVE_PRCTL

/* Define to 1 if you have the `pread' function. */
#undef HAVE_PREAD

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

/* Define to 1 if you have the `proc_pidinfo' function. */
#undef HAVE_PROC_PIDINFO

/* Define to 1 if you have the `pthread_attr_get_np' function. */
#undef HAVE_PTHREAD_ATTR_GET_NP

/* Define to 1 if you have the `pthread_getattr_np' function. */
#undef HAVE_PTHREAD_GETATTR_NP

/* Define to 1 if you have the `pthread_getthreadid_np' function. */
#undef HAVE_PTHREAD_GETTHREADID_NP

/* Define to 1 if you have the `pthread_get_stackaddr_np' function. */
#undef HAVE_PTHREAD_GET_STACKADDR_NP

/* Define to 1 if you have the `pthread_get_stacksize_np' function. */
#undef HAVE_PTHREAD_GET_STACKSIZE_NP

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

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

/* Define to 1 if you have the <pulse/pulseaudio.h> header file. */
#undef HAVE_PULSE_PULSEAUDIO_H

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

/* Define to 1 if you have the `pwrite' function. */
#undef HAVE_PWRITE

/* Define to 1 if you have the <QuickTime/ImageCompression.h> header file. */
#undef HAVE_QUICKTIME_IMAGECOMPRESSION_H

/* Define to 1 if you have the `readdir' function. */
#undef HAVE_READDIR

/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK

/* Define to 1 if you have the `remainder' function. */
#undef HAVE_REMAINDER

/* Define to 1 if you have the `remainderf' function. */
#undef HAVE_REMAINDERF

/* Define to 1 if the system has the type `request_sense'. */
#undef HAVE_REQUEST_SENSE

/* Define if you have the resolver library and header */
#undef HAVE_RESOLV

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

/* Define to 1 if you have the `rint' function. */
#undef HAVE_RINT

/* Define to 1 if you have the `rintf' function. */
#undef HAVE_RINTF

/* Define to 1 if you have the `round' function. */
#undef HAVE_ROUND

/* Define to 1 if you have the `roundf' function. */
#undef HAVE_ROUNDF

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

/* Define to 1 if you have the `sched_setaffinity' function. */
#undef HAVE_SCHED_SETAFFINITY

/* Define to 1 if you have the `sched_yield' function. */
#undef HAVE_SCHED_YIELD

/* Define to 1 if `cmd' is a member of `scsireq_t'. */
#undef HAVE_SCSIREQ_T_CMD

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

/* Define to 1 if you have the <scsi/scsi_ioctl.h> header file. */
#undef HAVE_SCSI_SCSI_IOCTL_H

/* Define to 1 if you have the <scsi/sg.h> header file. */
#undef HAVE_SCSI_SG_H

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

/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT

/* Define to 1 if you have the `sendmsg' function. */
#undef HAVE_SENDMSG

/* Define to 1 if you have the `setproctitle' function. */
#undef HAVE_SETPROCTITLE

/* Define to 1 if you have the `setprogname' function. */
#undef HAVE_SETPROGNAME

/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT

/* Define to 1 if you have the `settimeofday' function. */
#undef HAVE_SETTIMEOFDAY

/* Define to 1 if `interface_id' is a member of `sg_io_hdr_t'. */
#undef HAVE_SG_IO_HDR_T_INTERFACE_ID

/* Define if sigaddset is supported */
#undef HAVE_SIGADDSET

/* Define to 1 if you have the `sigaltstack' function. */
#undef HAVE_SIGALTSTACK

/* Define to 1 if `si_fd' is a member of `siginfo_t'. */
#undef HAVE_SIGINFO_T_SI_FD

/* Define to 1 if you have the `sigprocmask' function. */
#undef HAVE_SIGPROCMASK

/* Define to 1 if the system has the type `sigset_t'. */
#undef HAVE_SIGSET_T

/* Define to 1 if the system has the type `size_t'. */
#undef HAVE_SIZE_T

/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF

/* Define to 1 if you have the `socketpair' function. */
#undef HAVE_SOCKETPAIR

/* Define to 1 if the system has the type `ssize_t'. */
#undef HAVE_SSIZE_T

/* Define to 1 if you have the `SSLCopyPeerCertificates' function. */
#undef HAVE_SSLCOPYPEERCERTIFICATES

/* Define to 1 if you have the `statfs' function. */
#undef HAVE_STATFS

/* Define to 1 if you have the `statvfs' function. */
#undef HAVE_STATVFS

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

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

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

/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP

/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP

/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR

/* 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 `strncasecmp' function. */
#undef HAVE_STRNCASECMP

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

/* Define to 1 if you have the `strtold' function. */
#undef HAVE_STRTOLD

/* Define to 1 if you have the `strtoll' function. */
#undef HAVE_STRTOLL

/* Define to 1 if you have the `strtoull' function. */
#undef HAVE_STRTOULL

/* Define to 1 if `d_reclen' is a member of `struct dirent'. */
#undef HAVE_STRUCT_DIRENT_D_RECLEN

/* Define to 1 if `direction' is a member of `struct ff_effect'. */
#undef HAVE_STRUCT_FF_EFFECT_DIRECTION

/* Define to 1 if `icps_inhist' is a member of `struct icmpstat'. */
#undef HAVE_STRUCT_ICMPSTAT_ICPS_INHIST

/* Define to 1 if `icps_outhist' is a member of `struct icmpstat'. */
#undef HAVE_STRUCT_ICMPSTAT_ICPS_OUTHIST

/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_HWADDR

/* Define to 1 if `ips_total' is a member of `struct ipstat'. */
#undef HAVE_STRUCT_IPSTAT_IPS_TOTAL

/* Define to 1 if `ips_total' is a member of `struct ip_stats'. */
#undef HAVE_STRUCT_IP_STATS_IPS_TOTAL

/* Define to 1 if the system has the type `struct link_map'. */
#undef HAVE_STRUCT_LINK_MAP

/* Define to 1 if `msg_accrights' is a member of `struct msghdr'. */
#undef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS

/* Define to 1 if `mt_blkno' is a member of `struct mtget'. */
#undef HAVE_STRUCT_MTGET_MT_BLKNO

/* Define to 1 if `mt_blksiz' is a member of `struct mtget'. */
#undef HAVE_STRUCT_MTGET_MT_BLKSIZ

/* Define to 1 if `mt_gstat' is a member of `struct mtget'. */
#undef HAVE_STRUCT_MTGET_MT_GSTAT

/* Define to 1 if `name' is a member of `struct option'. */
#undef HAVE_STRUCT_OPTION_NAME

/* Define to 1 if the system has the type `struct r_debug'. */
#undef HAVE_STRUCT_R_DEBUG

/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID

/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */
#undef HAVE_STRUCT_SOCKADDR_SA_LEN

/* Define to 1 if `sun_len' is a member of `struct sockaddr_un'. */
#undef HAVE_STRUCT_SOCKADDR_UN_SUN_LEN

/* Define to 1 if `f_bavail' is a member of `struct statfs'. */
#undef HAVE_STRUCT_STATFS_F_BAVAIL

/* Define to 1 if `f_bfree' is a member of `struct statfs'. */
#undef HAVE_STRUCT_STATFS_F_BFREE

/* Define to 1 if `f_favail' is a member of `struct statfs'. */
#undef HAVE_STRUCT_STATFS_F_FAVAIL

/* Define to 1 if `f_ffree' is a member of `struct statfs'. */
#undef HAVE_STRUCT_STATFS_F_FFREE

/* Define to 1 if `f_frsize' is a member of `struct statfs'. */
#undef HAVE_STRUCT_STATFS_F_FRSIZE

/* Define to 1 if `f_namelen' is a member of `struct statfs'. */
#undef HAVE_STRUCT_STATFS_F_NAMELEN

/* Define to 1 if `f_blocks' is a member of `struct statvfs'. */
#undef HAVE_STRUCT_STATVFS_F_BLOCKS

/* Define to 1 if `st_atim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIM

/* Define to 1 if `st_atimespec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIMESPEC

/* Define to 1 if `st_birthtim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIM

/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIME

/* Define to 1 if `st_birthtimespec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC

/* Define to 1 if `st_blocks' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS

/* Define to 1 if `st_ctim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_CTIM

/* Define to 1 if `st_ctimespec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_CTIMESPEC

/* Define to 1 if `st_mtim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIM

/* Define to 1 if `st_mtimespec' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIMESPEC

/* Define to 1 if `__st_birthtim' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT___ST_BIRTHTIM

/* Define to 1 if `__st_birthtime' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT___ST_BIRTHTIME

/* Define to 1 if `tcps_connattempt' is a member of `struct tcpstat'. */
#undef HAVE_STRUCT_TCPSTAT_TCPS_CONNATTEMPT

/* Define to 1 if `tcps_connattempt' is a member of `struct tcp_stats'. */
#undef HAVE_STRUCT_TCP_STATS_TCPS_CONNATTEMPT

/* Define to 1 if `udps_ipackets' is a member of `struct udpstat'. */
#undef HAVE_STRUCT_UDPSTAT_UDPS_IPACKETS

/* Define to 1 if the system has the type `struct xinpgen'. */
#undef HAVE_STRUCT_XINPGEN

/* Define to 1 if the system has the type `struct __res_state'. */
#undef HAVE_STRUCT___RES_STATE

/* Define to 1 if `_u._ext.nscount6' is a member of `struct __res_state'. */
#undef HAVE_STRUCT___RES_STATE__U__EXT_NSCOUNT6

/* Define to 1 if you have the `symlink' function. */
#undef HAVE_SYMLINK

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

/* Define to 1 if you have the `sysinfo' function. */
#undef HAVE_SYSINFO

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if you have the <sys/link.h> header file. */
#undef HAVE_SYS_LINK_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/modem.h> header file. */
#undef HAVE_SYS_MODEM_H

/* Define to 1 if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_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/mtio.h> header file. */
#undef HAVE_SYS_MTIO_H

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if you have the <sys/socketvar.h> header file. */
#undef HAVE_SYS_SOCKETVAR_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/sockio.h> header file. */
#undef HAVE_SYS_SOCKIO_H

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

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#undef HAVE_SYS_STATVFS_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/strtio.h> header file. */
#undef HAVE_SYS_STRTIO_H

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

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

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

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

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

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

/* Define to 1 if you have the <sys/times.h> header file. */
#undef HAVE_SYS_TIMES_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 <sys/ucontext.h> header file. */
#undef HAVE_SYS_UCONTEXT_H

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

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

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

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

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

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

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

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

/* Define to 1 if you have the `tcdrain' function. */
#undef HAVE_TCDRAIN

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

/* Define to 1 if you have the `thr_kill2' function. */
#undef HAVE_THR_KILL2

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

/* Define to 1 if you have the `timegm' function. */
#undef HAVE_TIMEGM

/* Define if you have the timezone variable */
#undef HAVE_TIMEZONE

/* Define to 1 if you have the `trunc' function. */
#undef HAVE_TRUNC

/* Define to 1 if you have the `truncf' function. */
#undef HAVE_TRUNCF

/* Define to 1 if you have the `udev' library (-ludev). */
#undef HAVE_UDEV

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

/* Define to 1 if you have the `usleep' function. */
#undef HAVE_USLEEP

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

/* Define to 1 if you have the <valgrind/memcheck.h> header file. */
#undef HAVE_VALGRIND_MEMCHECK_H

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

/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF

/* Define to 1 if you have the <X11/extensions/shape.h> header file. */
#undef HAVE_X11_EXTENSIONS_SHAPE_H

/* Define to 1 if you have the <X11/extensions/Xcomposite.h> header file. */
#undef HAVE_X11_EXTENSIONS_XCOMPOSITE_H

/* Define to 1 if you have the <X11/extensions/xf86vmode.h> header file. */
#undef HAVE_X11_EXTENSIONS_XF86VMODE_H

/* Define to 1 if you have the <X11/extensions/xf86vmproto.h> header file. */
#undef HAVE_X11_EXTENSIONS_XF86VMPROTO_H

/* Define to 1 if you have the <X11/extensions/Xfixes.h> header file. */
#undef HAVE_X11_EXTENSIONS_XFIXES_H

/* Define to 1 if you have the <X11/extensions/Xinerama.h> header file. */
#undef HAVE_X11_EXTENSIONS_XINERAMA_H

/* Define to 1 if you have the <X11/extensions/XInput2.h> header file. */
#undef HAVE_X11_EXTENSIONS_XINPUT2_H

/* Define to 1 if you have the <X11/extensions/XInput.h> header file. */
#undef HAVE_X11_EXTENSIONS_XINPUT_H

/* Define to 1 if you have the <X11/extensions/Xrandr.h> header file. */
#undef HAVE_X11_EXTENSIONS_XRANDR_H

/* Define to 1 if you have the <X11/extensions/Xrender.h> header file. */
#undef HAVE_X11_EXTENSIONS_XRENDER_H

/* Define to 1 if you have the <X11/extensions/XShm.h> header file. */
#undef HAVE_X11_EXTENSIONS_XSHM_H

/* Define to 1 if you have the <X11/Xcursor/Xcursor.h> header file. */
#undef HAVE_X11_XCURSOR_XCURSOR_H

/* Define to 1 if you have the <X11/XKBlib.h> header file. */
#undef HAVE_X11_XKBLIB_H

/* Define to 1 if you have the <X11/Xlib.h> header file. */
#undef HAVE_X11_XLIB_H

/* Define to 1 if you have the <X11/Xutil.h> header file. */
#undef HAVE_X11_XUTIL_H

/* Define to 1 if `xcookie' is a member of `XEvent'. */
#undef HAVE_XEVENT_XCOOKIE

/* Define to 1 if `callback' is a member of `XICCallback'. */
#undef HAVE_XICCALLBACK_CALLBACK

/* Define if you have the XKB extension */
#undef HAVE_XKB

/* Define if libxml2 has the xmlDocProperties enum */
#undef HAVE_XMLDOC_PROPERTIES

/* Define if libxml2 has the xmlFirstElementChild function */
#undef HAVE_XMLFIRSTELEMENTCHILD

/* Define if libxml2 has the xmlNewDocPI function */
#undef HAVE_XMLNEWDOCPI

/* Define if libxml2 has the xmlReadMemory function */
#undef HAVE_XMLREADMEMORY

/* Define if libxml2 has the xmlSchemaSetParserStructuredErrors function */
#undef HAVE_XMLSCHEMASSETPARSERSTRUCTUREDERRORS

/* Define if libxml2 has the xmlSchemaSetValidStructuredErrors function */
#undef HAVE_XMLSCHEMASSETVALIDSTRUCTUREDERRORS

/* Define if Xrender has the XRenderCreateLinearGradient function */
#undef HAVE_XRENDERCREATELINEARGRADIENT

/* Define if Xrender has the XRenderSetPictureTransform function */
#undef HAVE_XRENDERSETPICTURETRANSFORM

/* Define if Xrandr has the XRRGetScreenResources function */
#undef HAVE_XRRGETSCREENRESOURCES

/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_ZLIB

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

/* Define to 1 if you have the `_finite' function. */
#undef HAVE__FINITE

/* Define to 1 if you have the `_isnan' function. */
#undef HAVE__ISNAN

/* Define to 1 if you have the `_pclose' function. */
#undef HAVE__PCLOSE

/* Define to 1 if you have the `_popen' function. */
#undef HAVE__POPEN

/* Define to 1 if you have the `_snprintf' function. */
#undef HAVE__SNPRINTF

/* Define to 1 if you have the `_spawnvp' function. */
#undef HAVE__SPAWNVP

/* Define to 1 if you have the `_strdup' function. */
#undef HAVE__STRDUP

/* Define to 1 if you have the `_stricmp' function. */
#undef HAVE__STRICMP

/* Define to 1 if you have the `_strnicmp' function. */
#undef HAVE__STRNICMP

/* Define to 1 if you have the `_strtoi64' function. */
#undef HAVE__STRTOI64

/* Define to 1 if you have the `_strtoui64' function. */
#undef HAVE__STRTOUI64

/* Define to 1 if you have the `_vsnprintf' function. */
#undef HAVE__VSNPRINTF

/* Define to 1 if you have the `__builtin_clz' built-in function. */
#undef HAVE___BUILTIN_CLZ

/* Define to 1 if you have the `__builtin_popcount' built-in function. */
#undef HAVE___BUILTIN_POPCOUNT

/* Define to 1 if you have the `__res_getservers' function. */
#undef HAVE___RES_GETSERVERS

/* Define to 1 if you have the `__res_get_state' function. */
#undef HAVE___RES_GET_STATE

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

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

/* 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 the soname of the libcapi20 library. */
#undef SONAME_LIBCAPI20

/* Define to the soname of the libcups library. */
#undef SONAME_LIBCUPS

/* Define to the soname of the libcurses library. */
#undef SONAME_LIBCURSES

/* Define to the soname of the libdbus-1 library. */
#undef SONAME_LIBDBUS_1

/* Define to the soname of the libEGL library. */
#undef SONAME_LIBEGL

/* Define to the soname of the libfontconfig library. */
#undef SONAME_LIBFONTCONFIG

/* Define to the soname of the libfreetype library. */
#undef SONAME_LIBFREETYPE

/* Define to the soname of the libGL library. */
#undef SONAME_LIBGL

/* Define to the soname of the libGLESv2 library. */
#undef SONAME_LIBGLESV2

/* Define to the soname of the libGLU library. */
#undef SONAME_LIBGLU

/* Define to the soname of the libgnutls library. */
#undef SONAME_LIBGNUTLS

/* Define to the soname of the libgsm library. */
#undef SONAME_LIBGSM

/* Define to the soname of the libhal library. */
#undef SONAME_LIBHAL

/* Define to the soname of the libjpeg library. */
#undef SONAME_LIBJPEG

/* Define to the soname of the libncurses library. */
#undef SONAME_LIBNCURSES

/* Define to the soname of the libnetapi library. */
#undef SONAME_LIBNETAPI

/* Define to the soname of the libodbc library. */
#undef SONAME_LIBODBC

/* Define to the soname of the libopenal library. */
#undef SONAME_LIBOPENAL

/* Define to the soname of the libOSMesa library. */
#undef SONAME_LIBOSMESA

/* Define to the soname of the libpng library. */
#undef SONAME_LIBPNG

/* Define to the soname of the libsane library. */
#undef SONAME_LIBSANE

/* Define to the soname of the libtiff library. */
#undef SONAME_LIBTIFF

/* Define to the soname of the libv4l1 library. */
#undef SONAME_LIBV4L1

/* Define to the soname of the libX11 library. */
#undef SONAME_LIBX11

/* Define to the soname of the libXcomposite library. */
#undef SONAME_LIBXCOMPOSITE

/* Define to the soname of the libXcursor library. */
#undef SONAME_LIBXCURSOR

/* Define to the soname of the libXext library. */
#undef SONAME_LIBXEXT

/* Define to the soname of the libXfixes library. */
#undef SONAME_LIBXFIXES

/* Define to the soname of the libXi library. */
#undef SONAME_LIBXI

/* Define to the soname of the libXinerama library. */
#undef SONAME_LIBXINERAMA

/* Define to the soname of the libXrandr library. */
#undef SONAME_LIBXRANDR

/* Define to the soname of the libXrender library. */
#undef SONAME_LIBXRENDER

/* Define to the soname of the libxslt library. */
#undef SONAME_LIBXSLT

/* Define to the soname of the libXxf86vm library. */
#undef SONAME_LIBXXF86VM

/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN

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

/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING

/* 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 for large files, on AIX-style hosts. */
#undef _LARGE_FILES

/* Define to a macro to output a .cfi assembly pseudo-op */
#undef __ASM_CFI

/* Define to a macro to define an assembly function */
#undef __ASM_DEFINE_FUNC

/* Define to a macro to generate an assembly function directive */
#undef __ASM_FUNC

/* Define to a macro to generate an assembly function with C calling
   convention */
#undef __ASM_GLOBAL_FUNC

/* Define to a macro to generate an assembly name from a C symbol */
#undef __ASM_NAME

/* Define to a macro to generate an stdcall suffix */
#undef __ASM_STDCALL

/* Define to a macro to generate an assembly function with stdcall calling
   convention */
#undef __ASM_STDCALL_FUNC

/* Define to `__inline__' or `__inline' if that's what the C compiler
   calls it, or to nothing if 'inline' is not supported under any name.  */
#ifndef __cplusplus
#undef inline
#endif

#endif /* WINE_CROSSTEST */
#endif /* __WINE_CONFIG_H */
