/* magick/config.h.in.  Generated automatically from configure.in by autoheader.  */

/* Define if you don't have vprintf but do have _doprnt.  */
#undef MAGICKCORE_HAVE_DOPRNT

/* Define if you have a working `mmap' system call.  */
#define MAGICKCORE_HAVE_MMAP 1

/* Define if you have the vprintf function.  */
#define MAGICKCORE_HAVE_VPRINTF 1

/* Define as __inline if that's what the C compiler calls it.  */
#define MAGICKCORE_inline __inline

/* Define as the return type of signal handlers (int or void).  */
#define MAGICKCORE_RETSIGTYPE void

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

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

/* Define if you can safely include both <sys/time.h> and <time.h>.  */
#define MAGICKCORE_TIME_WITH_SYS_TIME 1

/* Define if your processor stores words with the most significant
   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
#undef MAGICKCORE_WORDS_BIGENDIAN

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

/* The number of bytes in a int.  */
#define MAGICKCORE_SIZEOF_INT 4

/* The number of bytes in a long long.  */
#define MAGICKCORE_SIZEOF_UNSIGNED_LONG_LONG 8

/* Define if you have the getcwd function.  */
#define MAGICKCORE_HAVE_GETCWD 1

/* Define if you have the getexecname function.  */
#undef MAGICKCORE_HAVE_GETEXECNAME

/* Define if you have the getpagesize function.  */
#define MAGICKCORE_HAVE_GETPAGESIZE 1

/* Define if you have the gettimeofday function.  */
#define MAGICKCORE_HAVE_GETTIMEOFDAY 1

/* Define if you have the mkdir function.  */
#define MAGICKCORE_HAVE_MKDIR 1

/* Define if you have the poll function.  */
#undef MAGICKCORE_HAVE_POLL

/* Define if you have the select function.  */
#undef MAGICKCORE_HAVE_SELECT

/* Define if you have the snprintf function.  */
#undef MAGICKCORE_HAVE_SNPRINTF

/* Define if you have the strchr function.  */
#define MAGICKCORE_HAVE_STRCHR 1

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

/* Define if you have the strtol function.  */
#define MAGICKCORE_HAVE_STRTOL 1

/* Define if you have the sysconf function.  */
#define MAGICKCORE_HAVE_SYSCONF 1

/* Define if you have the tempnam function.  */
#define MAGICKCORE_HAVE_TEMPNAM 1

/* Define if you have the vsnprintf function.  */
#undef MAGICKCORE_HAVE_VSNPRINTF

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

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

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

/* Define if you have the <ft2build.h> header file.  */
#define MAGICKCORE_HAVE_FT2BUILD_H 1

/* Define if you have the <freetype/freetype.h> header file.  */
#define MAGICKCORE_HAVE_FREETYPE_FREETYPE_H 1

/* Define if you have the <hdf.h> header file.  */
#define MAGICKCORE_HAVE_HDF_H 1

/* Define if you have the <hdf/hdf.h> header file.  */
#undef MAGICKCORE_HAVE_HDF_HDF_H

/* Define if you have the <libxml/xml-error.h> header file.  */
#undef MAGICKCORE_HAVE_LIBXML_XML_ERROR_H

/* Define if you have the <libxml/xmlerror.h> header file.  */
#undef MAGICKCORE_HAVE_LIBXML_XMLERROR_H

/* Define if you have the <jp2conf.h> header file.  */
#undef MAGICKCORE_HAVE_JP2CONF_H

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

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

/* Define if you have the <memory.h> header file.  */
#define MAGICKCORE_HAVE_MEMORY_H 1

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

/* Define if you have the <pwd.h> header file.  */
#define MAGICKCORE_HAVE_PWD_H 1

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

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

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

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

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

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

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

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

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

/* Define if you have the <tiffconf.h> header file.  */
#define MAGICKCORE_HAVE_TIFFCONF_H 1

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

/* Define if you have the <varargs.h> header file.  */
#undef MAGICKCORE_HAVE_VARARGS_H

/* Define if using libltdl to create dynamically loadable modules */
#undef MAGICKCORE_LTDL_DELEGATE

/* Location of coder modules */
#undef MAGICKCORE_MagickModulesPath

/* Number of bits in a pixel Quantum (8 or 16) */
#define MAGICKCORE_QUANTUM_DEPTH 16

/* Pixel cache threshold (default 2047MB) */
#undef MAGICKCORE_PixelCacheThreshold

/* Define to specify default TrueType font path. */
#undef MAGICKCORE_TT_FONT_PATH

/* Location of X11 configure files */
#undef MAGICKCORE_X11ConfigurePath

/* Define if you have Posix thread methods. */
#undef MAGICKCORE_HasPTHREADS

/* Define if you have zlib compression library */
#define MAGICKCORE_ZLIB_DELEGATE 1

/* Define if you have the bzip2 library */
#define MAGICKCORE_BZLIB_DELEGATE 1

/* Define if you have X11 library */
#define MAGICKCORE_X11_DELEGATE 1

/* X11 server supports shared memory extension */
#undef MAGICKCORE_HAVE_SHARED_MEMORY

/* X11 server supports shape extension */
#undef MAGICKCORE_HAVE_SHAPE

/* Define if you have Display Postscript */
#undef MAGICKCORE_DPS_DELEGATE

/* Define if you have FlashPIX library */
#undef MAGICKCORE_FPX_DELEGATE

/* Define if you have LCMS library */
#undef MAGICKCORE_LCMS_DELEGATE

/* Define if you have PNG library */
#define MAGICKCORE_PNG_DELEGATE 1

/* Define if you have JPEG library */
#define MAGICKCORE_JPEG_DELEGATE 1

/* Define if you have JPEG version 2 Jasper library */
#define MAGICKCORE_JP2_DELEGATE 1
/* #define MAGICKCORE_LIBOPENJP2_DELEGATE 1 */

/* Define if you have Ghostscript library */
#undef MAGICKCORE_GS_DELEGATE

/* Define if you have FreeType (TrueType font) library */
#define MAGICKCORE_FREETYPE_DELEGATE 1

/* Define if you have TIFF library */
#define MAGICKCORE_TIFF_DELEGATE 1

/* Define if you have HDF4 library */
#define MAGICKCORE_HDF_DELEGATE 1

/* Define if you have JBIG library */
#define MAGICKCORE_JBIG_DELEGATE 1

/* Define if you have XML library */
#undef MAGICKCORE_XML_DELEGATE

/* Define if you have WMF library */
#undef MAGICKCORE_WMF_DELEGATE

/* Define if you have sys_errlist in libc */
#undef MAGICKCORE_HAVE_SYS_ERRLIST

/* Define directory where ImageMagick/delegates.xml lives. */
#undef MAGICKCORE_MagickConfigurePath

/* define MAGICKCORE_if bool is a built-in type */
#define MAGICKCORE_HAVE_BOOL 1

/* define MAGICKCORE_if the compiler supports const_cast<> */
#undef MAGICKCORE_HAVE_CONST_CAST

/* define MAGICKCORE_if the compiler supports default template parameters */
#undef MAGICKCORE_HAVE_DEFAULT_TEMPLATE_PARAMETERS

/* define MAGICKCORE_if the compiler supports exceptions */
#undef MAGICKCORE_HAVE_EXCEPTIONS

/* define MAGICKCORE_if the compiler implements namespaces */
#undef MAGICKCORE_HAVE_NAMESPACES

/* define MAGICKCORE_if the compiler supports the explicit keyword */
#undef MAGICKCORE_HAVE_EXPLICIT

/* define MAGICKCORE_if the compiler supports ISO C++ standard library */
#define MAGICKCORE_HAVE_STD 1

/* define MAGICKCORE_if the compiler supports Standard Template Library */
#define MAGICKCORE_HAVE_STL 1

/* define MAGICKCORE_if the compiler supports the mutable keyword */
#undef MAGICKCORE_HAVE_MUTABLE

/* define MAGICKCORE_if the compiler accepts the new for scoping rules */
#undef MAGICKCORE_HAVE_NEW_FOR_SCOPING

/* define MAGICKCORE_if the compiler supports static_cast<> */
#undef MAGICKCORE_HAVE_STATIC_CAST

/* define MAGICKCORE_if the compiler supports basic templates */
#undef MAGICKCORE_HAVE_TEMPLATES

#define MAGICKCORE_LIBRARY_RELATIVE_PATH "/"

#define MAGICKCORE_HAVE_MKSTEMP 1

#define round nint

#define MAGICKCORE_CIPHER_SUPPORT 1

#define MAGICKCORE_HDRI_ENABLE 1

#define MAGICKCORE_HAVE_STRCASECMP 1
#define MAGICKCORE_HAVE_STRNCASECMP 1
