1/* 2 * Summary: compile-time version informations on Windows 3 * Description: compile-time version informations for the XML library 4 * when compiled on the Windows platform 5 * 6 * Copy: See Copyright for the status of this software. 7 * 8 * Author: Daniel Veillard 9 */ 10 11#ifndef __XML_VERSION_H__ 12#define __XML_VERSION_H__ 13 14#ifdef __cplusplus 15extern "C" { 16#endif 17 18/* 19 * use those to be sure nothing nasty will happen if 20 * your library and includes mismatch 21 */ 22#ifndef LIBXML2_COMPILING_MSCCDEF 23extern void xmlCheckVersion(int version); 24#endif /* LIBXML2_COMPILING_MSCCDEF */ 25 26/** 27 * LIBXML_DOTTED_VERSION: 28 * 29 * the version string like "1.2.3" 30 */ 31#define LIBXML_DOTTED_VERSION "2.4.26" 32 33/** 34 * LIBXML_VERSION: 35 * 36 * the version number: 1.2.3 value is 1002003 37 */ 38#define LIBXML_VERSION 20426 39 40/** 41 * LIBXML_VERSION_STRING: 42 * 43 * the version number string, 1.2.3 value is "1002003" 44 */ 45#define LIBXML_VERSION_STRING "20426" 46 47/** 48 * LIBXML_TEST_VERSION: 49 * 50 * Macro to check that the libxml version in use is compatible with 51 * the version the software has been compiled against 52 */ 53#define LIBXML_TEST_VERSION xmlCheckVersion(20426); 54 55#if 0 56/** 57 * WITH_TRIO: 58 * 59 * defined if the trio support need to be configured in 60 */ 61#define WITH_TRIO 62#else 63/** 64 * WITHOUT_TRIO: 65 * 66 * defined if the trio support should not be configured in 67 */ 68#define WITHOUT_TRIO 69#endif 70 71/** 72 * LIBXML_THREAD_ENABLED: 73 * 74 * Whether the thread support is configured in 75 */ 76#if 0 77#define LIBXML_THREAD_ENABLED 78#endif 79 80/** 81 * LIBXML_FTP_ENABLED: 82 * 83 * Whether the FTP support is configured in 84 */ 85#if 1 86#define LIBXML_FTP_ENABLED 87#endif 88 89/** 90 * LIBXML_HTTP_ENABLED: 91 * 92 * Whether the HTTP support is configured in 93 */ 94#if 1 95#define LIBXML_HTTP_ENABLED 96#endif 97 98/** 99 * LIBXML_HTML_ENABLED: 100 * 101 * Whether the HTML support is configured in 102 */ 103#if 1 104#define LIBXML_HTML_ENABLED 105#endif 106 107/** 108 * LIBXML_CATALOG_ENABLED: 109 * 110 * Whether the Catalog support is configured in 111 */ 112#if 1 113#define LIBXML_CATALOG_ENABLED 114#endif 115 116/** 117 * LIBXML_DOCB_ENABLED: 118 * 119 * Whether the SGML Docbook support is configured in 120 */ 121#if 1 122#define LIBXML_DOCB_ENABLED 123#endif 124 125/** 126 * LIBXML_XPATH_ENABLED: 127 * 128 * Whether XPath is configured in 129 */ 130#if 1 131#define LIBXML_XPATH_ENABLED 132#endif 133 134/** 135 * LIBXML_XPTR_ENABLED: 136 * 137 * Whether XPointer is configured in 138 */ 139#if 1 140#define LIBXML_XPTR_ENABLED 141#endif 142 143/** 144 * LIBXML_C14N_ENABLED: 145 * 146 * Whether the Canonicalization support is configured in 147 */ 148#if 0 149#define LIBXML_C14N_ENABLED 150#endif 151 152/** 153 * LIBXML_XINCLUDE_ENABLED: 154 * 155 * Whether XInclude is configured in 156 */ 157#if 1 158#define LIBXML_XINCLUDE_ENABLED 159#endif 160 161/** 162 * LIBXML_ICONV_ENABLED: 163 * 164 * Whether iconv support is available 165 */ 166#if 0 167#define LIBXML_ICONV_ENABLED 168#endif 169 170/** 171 * LIBXML_DEBUG_ENABLED: 172 * 173 * Whether Debugging module is configured in 174 */ 175#if 1 176#define LIBXML_DEBUG_ENABLED 177#endif 178 179/** 180 * DEBUG_MEMORY_LOCATION: 181 * 182 * Whether the memory debugging is configured in 183 */ 184#if 0 185#define DEBUG_MEMORY_LOCATION 186#endif 187 188/** 189 * LIBXML_DLL_IMPORT: 190 * 191 * Used on Windows (MS C compiler only) to declare a variable as 192 * imported from the library. This macro should be empty when compiling 193 * libxml itself. It should expand to __declspec(dllimport) 194 * when the client code includes this header, and that only if the client 195 * links dynamically against libxml. 196 * For this to work, we need three macros. One tells us which compiler is 197 * being used and luckily the compiler defines such a thing: _MSC_VER. The 198 * second macro tells us if we are compiling libxml or the client code and 199 * we define the macro IN_LIBXML on the compiler's command line for this 200 * purpose. The third macro, LIBXML_STATIC, must be defined by any client 201 * code which links against libxml statically. 202 */ 203#ifndef LIBXML_DLL_IMPORT 204#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC) 205#define LIBXML_DLL_IMPORT __declspec(dllimport) 206#else 207#define LIBXML_DLL_IMPORT 208#endif 209#endif 210 211/** 212 * ATTRIBUTE_UNUSED: 213 * 214 * Macro used to signal to GCC unused function parameters 215 */ 216#ifdef __GNUC__ 217#ifdef HAVE_ANSIDECL_H 218#include <ansidecl.h> 219#endif 220#ifndef ATTRIBUTE_UNUSED 221#define ATTRIBUTE_UNUSED 222#endif 223#else 224#define ATTRIBUTE_UNUSED 225#endif 226 227/* 228 * #pragma comment(lib, "iconv.lib") 229 * 230 * pragma understood my MS compiler which enables a conditional link with 231 * iconv. 232 */ 233#ifdef _MSC_VER 234#if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF 235#pragma comment(lib, "iconv.lib") 236#endif 237#endif 238 239#ifdef __cplusplus 240} 241#endif /* __cplusplus */ 242#endif 243