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 "@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 247/** 248 * ATTRIBUTE_UNUSED: 249 * 250 * Macro used to signal to GCC unused function parameters 251 */ 252 253#ifndef ATTRIBUTE_UNUSED 254#define ATTRIBUTE_UNUSED 255#endif 256 257/** 258 * ATTRIBUTE_ALLOC_SIZE: 259 * 260 * Macro used to indicate to GCC this is an allocator function 261 */ 262 263#ifndef ATTRIBUTE_ALLOC_SIZE 264# if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) 265# define ATTRIBUTE_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 266# else 267# define ATTRIBUTE_ALLOC_SIZE(x) 268# endif 269#else 270# define ATTRIBUTE_ALLOC_SIZE(x) 271#endif 272 273/** 274 * LIBXML_ATTR_FORMAT: 275 * 276 * Macro used to indicate to GCC the parameter are printf like 277 */ 278 279#ifndef LIBXML_ATTR_FORMAT 280# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 281# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 282# else 283# define LIBXML_ATTR_FORMAT(fmt,args) 284# endif 285#else 286# define LIBXML_ATTR_FORMAT(fmt,args) 287#endif 288 289#else /* !__GNUC__ */ 290#define ATTRIBUTE_UNUSED 291#define LIBXML_ATTR_FORMAT(fmt,args) 292#define ATTRIBUTE_ALLOC_SIZE(x) 293#endif /* __GNUC__ */ 294 295/* 296 * #pragma comment(lib, "iconv.lib") 297 * 298 * pragma understood my MS compiler which enables a conditional link with 299 * iconv. 300 */ 301#ifdef _MSC_VER 302#if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF 303#pragma comment(lib, "iconv.lib") 304#endif 305#endif 306 307/* 308 * #pragma comment(lib, "kernel32.lib") 309 * 310 * pragma understood my MS compiler which enables a conditional link with 311 * kernel32. 312 */ 313#ifdef _MSC_VER 314#if defined LIBXML_MODULES_ENABLED 315#pragma comment(lib, "kernel32.lib") 316#endif 317#endif 318 319#ifdef __cplusplus 320} 321#endif /* __cplusplus */ 322#endif 323