/* * Summary: compile-time version information * Description: compile-time version information for the XML library * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_VERSION_H__ #define __XML_VERSION_H__ #include #ifdef __cplusplus extern "C" { #endif /* * use those to be sure nothing nasty will happen if * your library and includes mismatch */ #ifndef LIBXML2_COMPILING_MSCCDEF XMLPUBFUN void xmlCheckVersion(int version); #endif /* LIBXML2_COMPILING_MSCCDEF */ /** * LIBXML_DOTTED_VERSION: * * the version string like "1.2.3" */ #define LIBXML_DOTTED_VERSION "@VERSION@" /** * LIBXML_VERSION: * * the version number: 1.2.3 value is 10203 */ #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@ /** * LIBXML_VERSION_STRING: * * the version number string, 1.2.3 value is "10203" */ #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@" /** * LIBXML_VERSION_EXTRA: * * extra version information, used to show a git commit description */ #define LIBXML_VERSION_EXTRA "@LIBXML_VERSION_EXTRA@" /** * LIBXML_TEST_VERSION: * * Macro to check that the libxml version in use is compatible with * the version the software has been compiled against */ #define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@); /** * LIBXML_THREAD_ENABLED: * * Whether the thread support is configured in */ #if @WITH_THREADS@ #define LIBXML_THREAD_ENABLED #endif /** * LIBXML_THREAD_ALLOC_ENABLED: * * Whether the allocation hooks are per-thread */ #if @WITH_THREAD_ALLOC@ #define LIBXML_THREAD_ALLOC_ENABLED #endif /** * LIBXML_TREE_ENABLED: * * Whether the DOM like tree manipulation API support is configured in */ #if @WITH_TREE@ #define LIBXML_TREE_ENABLED #endif /** * LIBXML_OUTPUT_ENABLED: * * Whether the serialization/saving support is configured in */ #if @WITH_OUTPUT@ #define LIBXML_OUTPUT_ENABLED #endif /** * LIBXML_PUSH_ENABLED: * * Whether the push parsing interfaces are configured in */ #if @WITH_PUSH@ #define LIBXML_PUSH_ENABLED #endif /** * LIBXML_READER_ENABLED: * * Whether the xmlReader parsing interface is configured in */ #if @WITH_READER@ #define LIBXML_READER_ENABLED #endif /** * LIBXML_PATTERN_ENABLED: * * Whether the xmlPattern node selection interface is configured in */ #if @WITH_PATTERN@ #define LIBXML_PATTERN_ENABLED #endif /** * LIBXML_WRITER_ENABLED: * * Whether the xmlWriter saving interface is configured in */ #if @WITH_WRITER@ #define LIBXML_WRITER_ENABLED #endif /** * LIBXML_SAX1_ENABLED: * * Whether the older SAX1 interface is configured in */ #if @WITH_SAX1@ #define LIBXML_SAX1_ENABLED #endif /** * LIBXML_FTP_ENABLED: * * Whether the FTP support is configured in */ #if @WITH_FTP@ #define LIBXML_FTP_ENABLED #endif /** * LIBXML_HTTP_ENABLED: * * Whether the HTTP support is configured in */ #if @WITH_HTTP@ #define LIBXML_HTTP_ENABLED #endif /** * LIBXML_VALID_ENABLED: * * Whether the DTD validation support is configured in */ #if @WITH_VALID@ #define LIBXML_VALID_ENABLED #endif /** * LIBXML_HTML_ENABLED: * * Whether the HTML support is configured in */ #if @WITH_HTML@ #define LIBXML_HTML_ENABLED #endif /** * LIBXML_LEGACY_ENABLED: * * Whether the deprecated APIs are compiled in for compatibility */ #if @WITH_LEGACY@ #define LIBXML_LEGACY_ENABLED #endif /** * LIBXML_C14N_ENABLED: * * Whether the Canonicalization support is configured in */ #if @WITH_C14N@ #define LIBXML_C14N_ENABLED #endif /** * LIBXML_CATALOG_ENABLED: * * Whether the Catalog support is configured in */ #if @WITH_CATALOG@ #define LIBXML_CATALOG_ENABLED #endif /** * LIBXML_XPATH_ENABLED: * * Whether XPath is configured in */ #if @WITH_XPATH@ #define LIBXML_XPATH_ENABLED #endif /** * LIBXML_XPTR_ENABLED: * * Whether XPointer is configured in */ #if @WITH_XPTR@ #define LIBXML_XPTR_ENABLED #endif /** * LIBXML_XPTR_LOCS_ENABLED: * * Whether support for XPointer locations is configured in */ #if @WITH_XPTR_LOCS@ #define LIBXML_XPTR_LOCS_ENABLED #endif /** * LIBXML_XINCLUDE_ENABLED: * * Whether XInclude is configured in */ #if @WITH_XINCLUDE@ #define LIBXML_XINCLUDE_ENABLED #endif /** * LIBXML_ICONV_ENABLED: * * Whether iconv support is available */ #if @WITH_ICONV@ #define LIBXML_ICONV_ENABLED #endif /** * LIBXML_ICU_ENABLED: * * Whether icu support is available */ #if @WITH_ICU@ #define LIBXML_ICU_ENABLED #endif /** * LIBXML_ISO8859X_ENABLED: * * Whether ISO-8859-* support is made available in case iconv is not */ #if @WITH_ISO8859X@ #define LIBXML_ISO8859X_ENABLED #endif /** * LIBXML_DEBUG_ENABLED: * * Whether Debugging module is configured in */ #if @WITH_DEBUG@ #define LIBXML_DEBUG_ENABLED #endif /** * DEBUG_MEMORY_LOCATION: * * Whether the memory debugging is configured in */ #if @WITH_MEM_DEBUG@ #define DEBUG_MEMORY_LOCATION #endif /** * LIBXML_DEBUG_RUNTIME: * * Removed */ #if 0 #define LIBXML_DEBUG_RUNTIME #endif /** * LIBXML_UNICODE_ENABLED: * * Whether the Unicode related interfaces are compiled in */ #if @WITH_REGEXPS@ #define LIBXML_UNICODE_ENABLED #endif /** * LIBXML_REGEXP_ENABLED: * * Whether the regular expressions interfaces are compiled in */ #if @WITH_REGEXPS@ #define LIBXML_REGEXP_ENABLED #endif /** * LIBXML_AUTOMATA_ENABLED: * * Whether the automata interfaces are compiled in */ #if @WITH_REGEXPS@ #define LIBXML_AUTOMATA_ENABLED #endif /** * LIBXML_EXPR_ENABLED: * * Whether the formal expressions interfaces are compiled in * * This code is unused and disabled unconditionally for now. */ #if 0 #define LIBXML_EXPR_ENABLED #endif /** * LIBXML_SCHEMAS_ENABLED: * * Whether the Schemas validation interfaces are compiled in */ #if @WITH_SCHEMAS@ #define LIBXML_SCHEMAS_ENABLED #endif /** * LIBXML_SCHEMATRON_ENABLED: * * Whether the Schematron validation interfaces are compiled in */ #if @WITH_SCHEMATRON@ #define LIBXML_SCHEMATRON_ENABLED #endif /** * LIBXML_MODULES_ENABLED: * * Whether the module interfaces are compiled in */ #if @WITH_MODULES@ #define LIBXML_MODULES_ENABLED /** * LIBXML_MODULE_EXTENSION: * * the string suffix used by dynamic modules (usually shared libraries) */ #define LIBXML_MODULE_EXTENSION "@MODULE_EXTENSION@" #endif /** * LIBXML_ZLIB_ENABLED: * * Whether the Zlib support is compiled in */ #if @WITH_ZLIB@ #define LIBXML_ZLIB_ENABLED #endif /** * LIBXML_LZMA_ENABLED: * * Whether the Lzma support is compiled in */ #if @WITH_LZMA@ #define LIBXML_LZMA_ENABLED #endif #ifdef __GNUC__ /** DOC_DISABLE */ #ifndef ATTRIBUTE_UNUSED # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) # define ATTRIBUTE_UNUSED __attribute__((unused)) # else # define ATTRIBUTE_UNUSED # endif #endif #ifndef LIBXML_ATTR_ALLOC_SIZE # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) # else # define LIBXML_ATTR_ALLOC_SIZE(x) # endif #else # define LIBXML_ATTR_ALLOC_SIZE(x) #endif #ifndef LIBXML_ATTR_FORMAT # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) # else # define LIBXML_ATTR_FORMAT(fmt,args) # endif #else # define LIBXML_ATTR_FORMAT(fmt,args) #endif #ifndef XML_DEPRECATED # if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301) # define XML_DEPRECATED /* Available since at least GCC 3.1 */ # else # define XML_DEPRECATED __attribute__((deprecated)) # endif #endif #if defined(__LCC__) #define XML_IGNORE_FPTR_CAST_WARNINGS #define XML_POP_WARNINGS \ _Pragma("diag_default 1215") #elif defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 800) #define XML_IGNORE_FPTR_CAST_WARNINGS \ _Pragma("GCC diagnostic push") \ _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \ _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"") #else #define XML_IGNORE_FPTR_CAST_WARNINGS \ _Pragma("GCC diagnostic push") \ _Pragma("GCC diagnostic ignored \"-Wpedantic\"") #endif #define XML_POP_WARNINGS \ _Pragma("GCC diagnostic pop") #else #define XML_IGNORE_FPTR_CAST_WARNINGS #define XML_POP_WARNINGS #endif #else /* ! __GNUC__ */ #define ATTRIBUTE_UNUSED #define LIBXML_ATTR_ALLOC_SIZE(x) #define LIBXML_ATTR_FORMAT(fmt,args) #ifndef XML_DEPRECATED # if defined (IN_LIBXML) || !defined (_MSC_VER) # define XML_DEPRECATED /* Available since Visual Studio 2005 */ # elif defined (_MSC_VER) && (_MSC_VER >= 1400) # define XML_DEPRECATED __declspec(deprecated) # endif #endif #if defined (_MSC_VER) && (_MSC_VER >= 1400) # define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push)) #else # define XML_IGNORE_FPTR_CAST_WARNINGS #endif #ifndef XML_POP_WARNINGS # if defined (_MSC_VER) && (_MSC_VER >= 1400) # define XML_POP_WARNINGS __pragma(warning(pop)) # else # define XML_POP_WARNINGS # endif #endif #endif /* __GNUC__ */ #define XML_NO_ATTR #ifdef LIBXML_THREAD_ENABLED #define XML_DECLARE_GLOBAL(name, type, attrs) \ attrs XMLPUBFUN type *__##name(void); #define XML_GLOBAL_MACRO(name) (*__##name()) #else #define XML_DECLARE_GLOBAL(name, type, attrs) \ attrs XMLPUBVAR type name; #endif #ifdef __cplusplus } #endif /* __cplusplus */ #endif