| /* |
| * 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 <libxml/xmlexports.h> |
| |
| #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@); |
| |
| #ifndef VMS |
| #if @WITH_TRIO@ |
| /** |
| * WITH_TRIO: |
| * |
| * defined if the trio support need to be configured in |
| */ |
| #define WITH_TRIO |
| #else |
| /** |
| * WITHOUT_TRIO: |
| * |
| * defined if the trio support should not be configured in |
| */ |
| #define WITHOUT_TRIO |
| #endif |
| #else /* VMS */ |
| /** |
| * WITH_TRIO: |
| * |
| * defined if the trio support need to be configured in |
| */ |
| #define WITH_TRIO 1 |
| #endif /* VMS */ |
| |
| /** |
| * 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(__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 |
| |
| |