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 15 extern "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 23 extern 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