| /* | |
| * Summary: compile-time version informations on Windows | |
| * Description: compile-time version informations for the XML library | |
| * when compiled on the Windows platform | |
| * | |
| * Copy: See Copyright for the status of this software. | |
| * | |
| * Author: Daniel Veillard | |
| */ | |
| #ifndef __XML_VERSION_H__ | |
| #define __XML_VERSION_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 | |
| extern 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 1002003 | |
| */ | |
| #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@ | |
| /** | |
| * LIBXML_VERSION_STRING: | |
| * | |
| * the version number string, 1.2.3 value is "1002003" | |
| */ | |
| #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@" | |
| /** | |
| * LIBXML_VERSION_EXTRA: | |
| * | |
| * extra version information, used to show a CVS compilation | |
| */ | |
| #define LIBXML_VERSION_EXTRA "-win32" | |
| /** | |
| * 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@); | |
| #if 0 | |
| /** | |
| * 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 | |
| /** | |
| * LIBXML_THREAD_ENABLED: | |
| * | |
| * Whether the thread support is configured in | |
| */ | |
| #if 0 | |
| #define LIBXML_THREAD_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_FTP_ENABLED: | |
| * | |
| * Whether the FTP support is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_FTP_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_HTTP_ENABLED: | |
| * | |
| * Whether the HTTP support is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_HTTP_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_HTML_ENABLED: | |
| * | |
| * Whether the HTML support is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_HTML_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_CATALOG_ENABLED: | |
| * | |
| * Whether the Catalog support is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_CATALOG_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_DOCB_ENABLED: | |
| * | |
| * Whether the SGML Docbook support is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_DOCB_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_XPATH_ENABLED: | |
| * | |
| * Whether XPath is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_XPATH_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_XPTR_ENABLED: | |
| * | |
| * Whether XPointer is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_XPTR_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_C14N_ENABLED: | |
| * | |
| * Whether the Canonicalization support is configured in | |
| */ | |
| #if 0 | |
| #define LIBXML_C14N_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_XINCLUDE_ENABLED: | |
| * | |
| * Whether XInclude is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_XINCLUDE_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_SCHEMATRON_ENABLED: | |
| * | |
| * Whether the Schematron validation interfaces are compiled in | |
| */ | |
| #if 1 | |
| #define LIBXML_SCHEMATRON_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_ICONV_ENABLED: | |
| * | |
| * Whether iconv support is available | |
| */ | |
| #if 0 | |
| #define LIBXML_ICONV_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_ISO8859X_ENABLED: | |
| * | |
| * Whether ISO-8859-* support is made available in case iconv is not | |
| */ | |
| #if 1 | |
| #define LIBXML_ISO8859X_ENABLED | |
| #endif | |
| /** | |
| * LIBXML_DEBUG_ENABLED: | |
| * | |
| * Whether Debugging module is configured in | |
| */ | |
| #if 1 | |
| #define LIBXML_DEBUG_ENABLED | |
| #endif | |
| /** | |
| * DEBUG_MEMORY_LOCATION: | |
| * | |
| * Whether the memory debugging is configured in | |
| */ | |
| #if 0 | |
| #define DEBUG_MEMORY_LOCATION | |
| #endif | |
| /** | |
| * LIBXML_DEBUG_RUNTIME: | |
| * | |
| * Whether the runtime debugging is configured in | |
| */ | |
| #if 0 | |
| #define LIBXML_DEBUG_RUNTIME | |
| #endif | |
| /** | |
| * LIBXML_DLL_IMPORT: | |
| * | |
| * Used on Windows (MS C compiler only) to declare a variable as | |
| * imported from the library. This macro should be empty when compiling | |
| * libxml itself. It should expand to __declspec(dllimport) | |
| * when the client code includes this header, and that only if the client | |
| * links dynamically against libxml. | |
| * For this to work, we need three macros. One tells us which compiler is | |
| * being used and luckily the compiler defines such a thing: _MSC_VER. The | |
| * second macro tells us if we are compiling libxml or the client code and | |
| * we define the macro IN_LIBXML on the compiler's command line for this | |
| * purpose. The third macro, LIBXML_STATIC, must be defined by any client | |
| * code which links against libxml statically. | |
| */ | |
| #ifndef LIBXML_DLL_IMPORT | |
| #if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC) | |
| #define LIBXML_DLL_IMPORT __declspec(dllimport) | |
| #else | |
| #define LIBXML_DLL_IMPORT | |
| #endif | |
| #endif | |
| #ifdef __GNUC__ | |
| #ifdef HAVE_ANSIDECL_H | |
| #include <ansidecl.h> | |
| #endif | |
| /** | |
| * ATTRIBUTE_UNUSED: | |
| * | |
| * Macro used to signal to GCC unused function parameters | |
| */ | |
| #ifndef ATTRIBUTE_UNUSED | |
| #define ATTRIBUTE_UNUSED | |
| #endif | |
| /** | |
| * ATTRIBUTE_ALLOC_SIZE: | |
| * | |
| * Macro used to indicate to GCC this is an allocator function | |
| */ | |
| #ifndef ATTRIBUTE_ALLOC_SIZE | |
| # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) | |
| # define ATTRIBUTE_ALLOC_SIZE(x) __attribute__((alloc_size(x))) | |
| # else | |
| # define ATTRIBUTE_ALLOC_SIZE(x) | |
| # endif | |
| #else | |
| # define ATTRIBUTE_ALLOC_SIZE(x) | |
| #endif | |
| /** | |
| * LIBXML_ATTR_FORMAT: | |
| * | |
| * Macro used to indicate to GCC the parameter are printf like | |
| */ | |
| #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 | |
| #else /* !__GNUC__ */ | |
| #define ATTRIBUTE_UNUSED | |
| #define LIBXML_ATTR_FORMAT(fmt,args) | |
| #define ATTRIBUTE_ALLOC_SIZE(x) | |
| #endif /* __GNUC__ */ | |
| /* | |
| * #pragma comment(lib, "iconv.lib") | |
| * | |
| * pragma understood my MS compiler which enables a conditional link with | |
| * iconv. | |
| */ | |
| #ifdef _MSC_VER | |
| #if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF | |
| #pragma comment(lib, "iconv.lib") | |
| #endif | |
| #endif | |
| /* | |
| * #pragma comment(lib, "kernel32.lib") | |
| * | |
| * pragma understood my MS compiler which enables a conditional link with | |
| * kernel32. | |
| */ | |
| #ifdef _MSC_VER | |
| #if defined LIBXML_MODULES_ENABLED | |
| #pragma comment(lib, "kernel32.lib") | |
| #endif | |
| #endif | |
| #ifdef __cplusplus | |
| } | |
| #endif /* __cplusplus */ | |
| #endif |