xmlwin32version.h.in
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 "@VERSION@" 32 33 /** 34 * LIBXML_VERSION: 35 * 36 * the version number: 1.2.3 value is 1002003 37 */ 38 #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@ 39 40 /** 41 * LIBXML_VERSION_STRING: 42 * 43 * the version number string, 1.2.3 value is "1002003" 44 */ 45 #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@" 46 47 /** 48 * LIBXML_VERSION_EXTRA: 49 * 50 * extra version information, used to show a CVS compilation 51 */ 52 #define LIBXML_VERSION_EXTRA "-win32" 53 54 /** 55 * LIBXML_TEST_VERSION: 56 * 57 * Macro to check that the libxml version in use is compatible with 58 * the version the software has been compiled against 59 */ 60 #define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@); 61 62 #if 0 63 /** 64 * WITH_TRIO: 65 * 66 * defined if the trio support need to be configured in 67 */ 68 #define WITH_TRIO 69 #else 70 /** 71 * WITHOUT_TRIO: 72 * 73 * defined if the trio support should not be configured in 74 */ 75 #define WITHOUT_TRIO 76 #endif 77 78 /** 79 * LIBXML_THREAD_ENABLED: 80 * 81 * Whether the thread support is configured in 82 */ 83 #if 0 84 #define LIBXML_THREAD_ENABLED 85 #endif 86 87 /** 88 * LIBXML_FTP_ENABLED: 89 * 90 * Whether the FTP support is configured in 91 */ 92 #if 1 93 #define LIBXML_FTP_ENABLED 94 #endif 95 96 /** 97 * LIBXML_HTTP_ENABLED: 98 * 99 * Whether the HTTP support is configured in 100 */ 101 #if 1 102 #define LIBXML_HTTP_ENABLED 103 #endif 104 105 /** 106 * LIBXML_HTML_ENABLED: 107 * 108 * Whether the HTML support is configured in 109 */ 110 #if 1 111 #define LIBXML_HTML_ENABLED 112 #endif 113 114 /** 115 * LIBXML_CATALOG_ENABLED: 116 * 117 * Whether the Catalog support is configured in 118 */ 119 #if 1 120 #define LIBXML_CATALOG_ENABLED 121 #endif 122 123 /** 124 * LIBXML_DOCB_ENABLED: 125 * 126 * Whether the SGML Docbook support is configured in 127 */ 128 #if 1 129 #define LIBXML_DOCB_ENABLED 130 #endif 131 132 /** 133 * LIBXML_XPATH_ENABLED: 134 * 135 * Whether XPath is configured in 136 */ 137 #if 1 138 #define LIBXML_XPATH_ENABLED 139 #endif 140 141 /** 142 * LIBXML_XPTR_ENABLED: 143 * 144 * Whether XPointer is configured in 145 */ 146 #if 1 147 #define LIBXML_XPTR_ENABLED 148 #endif 149 150 /** 151 * LIBXML_C14N_ENABLED: 152 * 153 * Whether the Canonicalization support is configured in 154 */ 155 #if 0 156 #define LIBXML_C14N_ENABLED 157 #endif 158 159 /** 160 * LIBXML_XINCLUDE_ENABLED: 161 * 162 * Whether XInclude is configured in 163 */ 164 #if 1 165 #define LIBXML_XINCLUDE_ENABLED 166 #endif 167 168 /** 169 * LIBXML_SCHEMATRON_ENABLED: 170 * 171 * Whether the Schematron validation interfaces are compiled in 172 */ 173 #if 1 174 #define LIBXML_SCHEMATRON_ENABLED 175 #endif 176 177 /** 178 * LIBXML_ICONV_ENABLED: 179 * 180 * Whether iconv support is available 181 */ 182 #if 0 183 #define LIBXML_ICONV_ENABLED 184 #endif 185 186 /** 187 * LIBXML_ISO8859X_ENABLED: 188 * 189 * Whether ISO-8859-* support is made available in case iconv is not 190 */ 191 #if 1 192 #define LIBXML_ISO8859X_ENABLED 193 #endif 194 195 /** 196 * LIBXML_DEBUG_ENABLED: 197 * 198 * Whether Debugging module is configured in 199 */ 200 #if 1 201 #define LIBXML_DEBUG_ENABLED 202 #endif 203 204 /** 205 * DEBUG_MEMORY_LOCATION: 206 * 207 * Whether the memory debugging is configured in 208 */ 209 #if 0 210 #define DEBUG_MEMORY_LOCATION 211 #endif 212 213 /** 214 * LIBXML_DEBUG_RUNTIME: 215 * 216 * Whether the runtime debugging is configured in 217 */ 218 #if 0 219 #define LIBXML_DEBUG_RUNTIME 220 #endif 221 222 /** 223 * LIBXML_DLL_IMPORT: 224 * 225 * Used on Windows (MS C compiler only) to declare a variable as 226 * imported from the library. This macro should be empty when compiling 227 * libxml itself. It should expand to __declspec(dllimport) 228 * when the client code includes this header, and that only if the client 229 * links dynamically against libxml. 230 * For this to work, we need three macros. One tells us which compiler is 231 * being used and luckily the compiler defines such a thing: _MSC_VER. The 232 * second macro tells us if we are compiling libxml or the client code and 233 * we define the macro IN_LIBXML on the compiler's command line for this 234 * purpose. The third macro, LIBXML_STATIC, must be defined by any client 235 * code which links against libxml statically. 236 */ 237 #ifndef LIBXML_DLL_IMPORT 238 #if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC) 239 #define LIBXML_DLL_IMPORT __declspec(dllimport) 240 #else 241 #define LIBXML_DLL_IMPORT 242 #endif 243 #endif 244 245 #ifdef __GNUC__ 246 #ifdef HAVE_ANSIDECL_H 247 #include <ansidecl.h> 248 #endif 249 250 /** 251 * ATTRIBUTE_UNUSED: 252 * 253 * Macro used to signal to GCC unused function parameters 254 */ 255 256 #ifndef ATTRIBUTE_UNUSED 257 #define ATTRIBUTE_UNUSED 258 #endif 259 260 /** 261 * ATTRIBUTE_ALLOC_SIZE: 262 * 263 * Macro used to indicate to GCC this is an allocator function 264 */ 265 266 #ifndef ATTRIBUTE_ALLOC_SIZE 267 # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) 268 # define ATTRIBUTE_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 269 # else 270 # define ATTRIBUTE_ALLOC_SIZE(x) 271 # endif 272 #else 273 # define ATTRIBUTE_ALLOC_SIZE(x) 274 #endif 275 276 /** 277 * LIBXML_ATTR_FORMAT: 278 * 279 * Macro used to indicate to GCC the parameter are printf like 280 */ 281 282 #ifndef LIBXML_ATTR_FORMAT 283 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 284 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 285 # else 286 # define LIBXML_ATTR_FORMAT(fmt,args) 287 # endif 288 #else 289 # define LIBXML_ATTR_FORMAT(fmt,args) 290 #endif 291 292 #else /* !__GNUC__ */ 293 #define ATTRIBUTE_UNUSED 294 #define LIBXML_ATTR_FORMAT(fmt,args) 295 #define ATTRIBUTE_ALLOC_SIZE(x) 296 #endif /* __GNUC__ */ 297 298 /* 299 * #pragma comment(lib, "iconv.lib") 300 * 301 * pragma understood my MS compiler which enables a conditional link with 302 * iconv. 303 */ 304 #ifdef _MSC_VER 305 #if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF 306 #pragma comment(lib, "iconv.lib") 307 #endif 308 #endif 309 310 /* 311 * #pragma comment(lib, "kernel32.lib") 312 * 313 * pragma understood my MS compiler which enables a conditional link with 314 * kernel32. 315 */ 316 #ifdef _MSC_VER 317 #if defined LIBXML_MODULES_ENABLED 318 #pragma comment(lib, "kernel32.lib") 319 #endif 320 #endif 321 322 #ifdef __cplusplus 323 } 324 #endif /* __cplusplus */ 325 #endif