You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
286 lines
9.2 KiB
286 lines
9.2 KiB
4 months ago
|
/*
|
||
|
Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
|
||
|
dedicated to making software imaging solutions freely available.
|
||
|
|
||
|
You may not use this file except in compliance with the License. You may
|
||
|
obtain a copy of the License at
|
||
|
|
||
|
https://imagemagick.org/script/license.php
|
||
|
|
||
|
Unless required by applicable law or agreed to in writing, software
|
||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
See the License for the specific language governing permissions and
|
||
|
limitations under the License.
|
||
|
|
||
|
MagickConfig not autogenerated (fixed stuff)
|
||
|
*/
|
||
|
#ifndef MAGICKCORE_MAGICK_CONFIG_H
|
||
|
#define MAGICKCORE_MAGICK_CONFIG_H
|
||
|
|
||
|
#if defined(__cplusplus) || defined(c_plusplus)
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#include "MagickCore/magick-baseconfig.h"
|
||
|
|
||
|
#define MAGICKCORE_QUANTUM_DEPTH 16
|
||
|
#define MAGICKCORE_HDRI_ENABLE 1
|
||
|
#define MAGICKCORE_JPEG_DELEGATE
|
||
|
#undef MAGICKCORE_HAVE__NSGETEXECUTABLEPATH
|
||
|
#undef MAGICKCORE_HAVE_VSNPRINTF_L
|
||
|
#undef MAGICKCORE_HAVE_VSNPRINTF
|
||
|
#undef MAGICKCORE_HAVE_VFPRINTF_L
|
||
|
#undef MAGICKCORE_HAVE_STRTOD_L
|
||
|
#undef MAGICKCORE_HAVE_SYS_TIMEB_H
|
||
|
#undef MAGICKCORE_HAVE_GETDTABLESIZE
|
||
|
#undef MAGICKCORE_HAVE_MACH_O_DYLD_H
|
||
|
#undef MAGICKCORE_X11_DELEGATE
|
||
|
#undef MAGICKCORE_BUILD_MODULES
|
||
|
|
||
|
#define MAGICKCORE_STRING_QUOTE(str) #str
|
||
|
#define MAGICKCORE_STRING_XQUOTE(str) MAGICKCORE_STRING_QUOTE(str)
|
||
|
|
||
|
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||
|
# if defined(__GNUC__) || defined(__clang__)
|
||
|
# define MAGICK_COMPILER_WARNING(w) _Pragma(MAGICKCORE_STRING_QUOTE(GCC warning w))
|
||
|
# elif defined(_MSC_VER)
|
||
|
# define MAGICK_COMPILER_WARNING(w) _Pragma(MAGICKCORE_STRING_QUOTE(message(w)))
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICK_COMPILER_WARNING
|
||
|
# define MAGICK_COMPILER_WARNING(w)
|
||
|
#endif
|
||
|
|
||
|
#ifdef MAGICKCORE__FILE_OFFSET_BITS
|
||
|
# ifdef _FILE_OFFSET_BITS
|
||
|
# if _FILE_OFFSET_BITS != MAGICKCORE__FILE_OFFSET_BITS
|
||
|
MAGICK_COMPILER_WARNING("_FILE_OFFSET_BITS is already defined, but does not match MAGICKCORE__FILE_OFFSET_BITS")
|
||
|
# else
|
||
|
# undef _FILE_OFFSET_BITS
|
||
|
# endif
|
||
|
# endif
|
||
|
# ifndef _FILE_OFFSET_BITS
|
||
|
# if MAGICKCORE__FILE_OFFSET_BITS == 64
|
||
|
# define _FILE_OFFSET_BITS 64
|
||
|
# elif MAGICKCORE__FILE_OFFSET_BITS == 32
|
||
|
# define _FILE_OFFSET_BITS 32
|
||
|
# else
|
||
|
# define _FILE_OFFSET_BITS MAGICKCORE__FILE_OFFSET_BITS
|
||
|
# endif
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
/* Compatibility block */
|
||
|
#if !defined(MAGICKCORE_QUANTUM_DEPTH) && defined(MAGICKCORE_QUANTUM_DEPTH_OBSOLETE_IN_H)
|
||
|
# warning "you should set MAGICKCORE_QUANTUM_DEPTH to sensible default set it to configure time default"
|
||
|
# warning "this is an obsolete behavior please fix your makefile"
|
||
|
# define MAGICKCORE_QUANTUM_DEPTH MAGICKCORE_QUANTUM_DEPTH_OBSOLETE_IN_H
|
||
|
#endif
|
||
|
|
||
|
/* Number of bits in a pixel Quantum (8/16/32/64) */
|
||
|
#ifndef MAGICKCORE_QUANTUM_DEPTH
|
||
|
# error "you should set MAGICKCORE_QUANTUM_DEPTH"
|
||
|
#endif
|
||
|
|
||
|
/* check values */
|
||
|
#if MAGICKCORE_QUANTUM_DEPTH != 8
|
||
|
# if MAGICKCORE_QUANTUM_DEPTH != 16
|
||
|
# if MAGICKCORE_QUANTUM_DEPTH != 32
|
||
|
# if MAGICKCORE_QUANTUM_DEPTH != 64
|
||
|
# error "MAGICKCORE_QUANTUM_DEPTH is not 8/16/32/64 bits"
|
||
|
# endif
|
||
|
# endif
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#if !defined(MAGICKCORE_HDRI_ENABLE) && defined(MAGICKCORE_HDRI_ENABLE_OBSOLETE_IN_H)
|
||
|
# warning "you should set MAGICKCORE_HDRI_ENABLE to sensible default set it to configure time default"
|
||
|
# warning "this is an obsolete behavior please fix yours makefile"
|
||
|
# define MAGICKCORE_HDRI_ENABLE MAGICKCORE_HDRI_ENABLE_OBSOLETE_IN_H
|
||
|
#endif
|
||
|
|
||
|
/* whether HDRI is enable */
|
||
|
#if !defined(MAGICKCORE_HDRI_ENABLE)
|
||
|
# error "you should set MAGICKCORE_HDRI_ENABLE"
|
||
|
#endif
|
||
|
|
||
|
#if MAGICKCORE_HDRI_ENABLE
|
||
|
# define MAGICKCORE_HDRI_SUPPORT 1
|
||
|
#endif
|
||
|
|
||
|
/* Compatibility block */
|
||
|
#if !defined(MAGICKCORE_QUANTUM_DEPTH) && defined(MAGICKCORE_QUANTUM_DEPTH_OBSOLETE_IN_H)
|
||
|
# warning "you should set MAGICKCORE_QUANTUM_DEPTH to sensible default set it to configure time default"
|
||
|
# warning "this is an obsolete behavior please fix yours makefile"
|
||
|
# define MAGICKCORE_QUANTUM_DEPTH MAGICKCORE_QUANTUM_DEPTH_OBSOLETE_IN_H
|
||
|
#endif
|
||
|
|
||
|
/* Number of bits in a pixel Quantum (8/16/32/64) */
|
||
|
#ifndef MAGICKCORE_QUANTUM_DEPTH
|
||
|
# error "you should set MAGICKCORE_QUANTUM_DEPTH"
|
||
|
#endif
|
||
|
|
||
|
/* check values */
|
||
|
#if MAGICKCORE_QUANTUM_DEPTH != 8
|
||
|
# if MAGICKCORE_QUANTUM_DEPTH != 16
|
||
|
# if MAGICKCORE_QUANTUM_DEPTH != 32
|
||
|
# if MAGICKCORE_QUANTUM_DEPTH != 64
|
||
|
# error "MAGICKCORE_QUANTUM_DEPTH is not 8/16/32/64 bits"
|
||
|
# endif
|
||
|
# endif
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#if !defined(MAGICKCORE_HDRI_ENABLE) && defined(MAGICKCORE_HDRI_ENABLE_OBSOLETE_IN_H)
|
||
|
# warning "you should set MAGICKCORE_HDRI_ENABLE to sensible default set it to configure time default"
|
||
|
# warning "this is an obsolete behavior please fix yours makefile"
|
||
|
# define MAGICKCORE_HDRI_ENABLE MAGICKCORE_HDRI_ENABLE_OBSOLETE_IN_H
|
||
|
#endif
|
||
|
|
||
|
/* whether HDRI is enable */
|
||
|
#if !defined(MAGICKCORE_HDRI_ENABLE)
|
||
|
# error "you should set MAGICKCORE_HDRI_ENABLE"
|
||
|
#endif
|
||
|
|
||
|
#if MAGICKCORE_HDRI_ENABLE
|
||
|
# define MAGICKCORE_HDRI_SUPPORT 1
|
||
|
#endif
|
||
|
|
||
|
#if defined __CYGWIN32__ && !defined __CYGWIN__
|
||
|
/* For backwards compatibility with Cygwin b19 and
|
||
|
earlier, we define __CYGWIN__ here, so that
|
||
|
we can rely on checking just for that macro. */
|
||
|
# define __CYGWIN__ __CYGWIN32__
|
||
|
#endif
|
||
|
|
||
|
/* ABI SUFFIX */
|
||
|
#ifndef MAGICKCORE_HDRI_SUPPORT
|
||
|
#define MAGICKCORE_ABI_SUFFIX "Q" MAGICKCORE_STRING_XQUOTE(MAGICKCORE_QUANTUM_DEPTH)
|
||
|
#else
|
||
|
#define MAGICKCORE_ABI_SUFFIX "Q" MAGICKCORE_STRING_XQUOTE(MAGICKCORE_QUANTUM_DEPTH) "HDRI"
|
||
|
#endif
|
||
|
|
||
|
/* some path game */
|
||
|
#if !defined __CYGWIN__
|
||
|
# if defined (_WIN32) || defined (_WIN64) || defined (__MSDOS__) || defined (__DJGPP__) || defined (__OS2__)
|
||
|
/* Use Windows separators on all _WIN32 defining
|
||
|
environments, except Cygwin. */
|
||
|
# define MAGICKCORE_DIR_SEPARATOR_CHAR '\\'
|
||
|
# define MAGICKCORE_DIR_SEPARATOR "\\"
|
||
|
# define MAGICKCORE_PATH_SEPARATOR_CHAR ';'
|
||
|
# define MAGICKCORE_PATH_SEPARATOR ";"
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
/* posix */
|
||
|
#ifndef MAGICKCORE_DIR_SEPARATOR_CHAR
|
||
|
/* Assume that not having this is an indicator that all
|
||
|
are missing. */
|
||
|
# define MAGICKCORE_DIR_SEPARATOR_CHAR '/'
|
||
|
# define MAGICKCORE_DIR_SEPARATOR "/"
|
||
|
# define MAGICKCORE_PATH_SEPARATOR_CHAR ':'
|
||
|
# define MAGICKCORE_PATH_SEPARATOR ":"
|
||
|
#endif /* !DIR_SEPARATOR_CHAR */
|
||
|
|
||
|
# if defined(MAGICKCORE_POSIX_SUPPORT) || defined(__MINGW32__)
|
||
|
|
||
|
/* module dir */
|
||
|
#ifndef MAGICKCORE_MODULES_DIRNAME
|
||
|
# define MAGICKCORE_MODULES_DIRNAME MAGICKCORE_MODULES_BASEDIRNAME "-" MAGICKCORE_ABI_SUFFIX
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICKCORE_MODULES_PATH
|
||
|
# define MAGICKCORE_MODULES_PATH MAGICKCORE_LIBRARY_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_MODULES_DIRNAME
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICKCORE_MODULES_RELATIVE_PATH
|
||
|
#define MAGICKCORE_MODULES_RELATIVE_PATH MAGICKCORE_LIBRARY_RELATIVE_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_MODULES_DIRNAME
|
||
|
#endif
|
||
|
|
||
|
/* Subdirectory under lib to place ImageMagick coder module files */
|
||
|
#ifndef MAGICKCORE_CODER_PATH
|
||
|
# if defined(vms)
|
||
|
# define MAGICKCORE_CODER_PATH "sys$login:"
|
||
|
# else
|
||
|
# define MAGICKCORE_CODER_PATH MAGICKCORE_MODULES_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_CODER_DIRNAME
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICKCORE_CODER_RELATIVE_PATH
|
||
|
# define MAGICKCORE_CODER_RELATIVE_PATH MAGICKCORE_MODULES_RELATIVE_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_CODER_DIRNAME
|
||
|
#endif
|
||
|
|
||
|
/* subdirectory under lib to place ImageMagick filter module files */
|
||
|
#ifndef MAGICKCORE_FILTER_PATH
|
||
|
# if defined(vms)
|
||
|
# define MAGICKCORE_FILTER_PATH "sys$login:"
|
||
|
# else
|
||
|
# define MAGICKCORE_FILTER_PATH MAGICKCORE_MODULES_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_FILTER_DIRNAME
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICKCORE_FILTER_RELATIVE_PATH
|
||
|
# define MAGICKCORE_FILTER_RELATIVE_PATH MAGICKCORE_MODULES_RELATIVE_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_FILTER_DIRNAME
|
||
|
#endif
|
||
|
|
||
|
/* sharearch dir */
|
||
|
#ifndef MAGICKCORE_SHAREARCH_DIRNAME
|
||
|
# define MAGICKCORE_SHAREARCH_DIRNAME MAGICKCORE_SHAREARCH_BASEDIRNAME "-" MAGICKCORE_ABI_SUFFIX
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICKCORE_SHAREARCH_PATH
|
||
|
# define MAGICKCORE_SHAREARCH_PATH MAGICKCORE_LIBRARY_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_SHAREARCH_DIRNAME MAGICKCORE_DIR_SEPARATOR
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAGICKCORE_SHAREARCH_RELATIVE_PATH
|
||
|
#define MAGICKCORE_SHAREARCH_RELATIVE_PATH MAGICKCORE_LIBRARY_RELATIVE_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_SHAREARCH_DIRNAME
|
||
|
#endif
|
||
|
|
||
|
#endif
|
||
|
|
||
|
/* for Clang compatibility */
|
||
|
#ifndef __has_builtin
|
||
|
# define __has_builtin(x) 0
|
||
|
#endif
|
||
|
|
||
|
#if defined(__GNUC__) && !defined(__clang__)
|
||
|
# define MAGICKCORE_DIAGNOSTIC_PUSH() \
|
||
|
_Pragma("GCC diagnostic push")
|
||
|
# define MAGICKCORE_DIAGNOSTIC_IGNORE_MAYBE_UNINITIALIZED() \
|
||
|
_Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
||
|
# define MAGICKCORE_DIAGNOSTIC_POP() \
|
||
|
_Pragma("GCC diagnostic pop")
|
||
|
#else
|
||
|
# define MAGICKCORE_DIAGNOSTIC_PUSH()
|
||
|
# define MAGICKCORE_DIAGNOSTIC_IGNORE_MAYBE_UNINITIALIZED()
|
||
|
# define MAGICKCORE_DIAGNOSTIC_POP()
|
||
|
#endif
|
||
|
|
||
|
#define MAGICKCORE_BITS_BELOW(power_of_2) \
|
||
|
((power_of_2)-1)
|
||
|
|
||
|
#define MAGICKCORE_MAX_ALIGNMENT_PADDING(power_of_2) \
|
||
|
MAGICKCORE_BITS_BELOW(power_of_2)
|
||
|
|
||
|
#define MAGICKCORE_IS_NOT_ALIGNED(n, power_of_2) \
|
||
|
((n) & MAGICKCORE_BITS_BELOW(power_of_2))
|
||
|
|
||
|
#define MAGICKCORE_IS_NOT_POWER_OF_2(n) \
|
||
|
MAGICKCORE_IS_NOT_ALIGNED((n), (n))
|
||
|
|
||
|
#define MAGICKCORE_ALIGN_DOWN(n, power_of_2) \
|
||
|
((n) & ~MAGICKCORE_BITS_BELOW(power_of_2))
|
||
|
|
||
|
#define MAGICKCORE_ALIGN_UP(n, power_of_2) \
|
||
|
MAGICKCORE_ALIGN_DOWN((n) + MAGICKCORE_MAX_ALIGNMENT_PADDING(power_of_2),power_of_2)
|
||
|
|
||
|
#if defined(__cplusplus) || defined(c_plusplus)
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|