1 /* 2 * Summary: compile-time version informations 3 * Description: compile-time version informations for the XML library 4 * 5 * Copy: See Copyright for the status of this software. 6 * 7 * Author: Daniel Veillard 8 */ 9 10 #ifndef __XML_VERSION_H__ 11 #define __XML_VERSION_H__ 12 13 #include <libxml/xmlexports.h> 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 /* 20 * use those to be sure nothing nasty will happen if 21 * your library and includes mismatch 22 */ 23 #ifndef LIBXML2_COMPILING_MSCCDEF 24 XMLPUBFUN void XMLCALL xmlCheckVersion(int version); 25 #endif /* LIBXML2_COMPILING_MSCCDEF */ 26 27 /** 28 * LIBXML_DOTTED_VERSION: 29 * 30 * the version string like "1.2.3" 31 */ 32 #define LIBXML_DOTTED_VERSION "2.7.3" 33 34 /** 35 * LIBXML_VERSION: 36 * 37 * the version number: 1.2.3 value is 10203 38 */ 39 #define LIBXML_VERSION 20703 40 41 /** 42 * LIBXML_VERSION_STRING: 43 * 44 * the version number string, 1.2.3 value is "10203" 45 */ 46 #define LIBXML_VERSION_STRING "20703" 47 48 /** 49 * LIBXML_VERSION_EXTRA: 50 * 51 * extra version information, used to show a CVS compilation 52 */ 53 #define LIBXML_VERSION_EXTRA "" 54 55 /** 56 * LIBXML_TEST_VERSION: 57 * 58 * Macro to check that the libxml version in use is compatible with 59 * the version the software has been compiled against 60 */ 61 #define LIBXML_TEST_VERSION xmlCheckVersion(20703); 62 63 #ifndef VMS 64 #if 0 65 /** 66 * WITH_TRIO: 67 * 68 * defined if the trio support need to be configured in 69 */ 70 #define WITH_TRIO 71 #else 72 /** 73 * WITHOUT_TRIO: 74 * 75 * defined if the trio support should not be configured in 76 */ 77 #define WITHOUT_TRIO 78 #endif 79 #else /* VMS */ 80 /** 81 * WITH_TRIO: 82 * 83 * defined if the trio support need to be configured in 84 */ 85 #define WITH_TRIO 1 86 #endif /* VMS */ 87 88 /** 89 * LIBXML_THREAD_ENABLED: 90 * 91 * Whether the thread support is configured in 92 */ 93 #if 0 94 #if defined(_REENTRANT) || defined(__MT__) || \ 95 (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) 96 #define LIBXML_THREAD_ENABLED 97 #endif 98 #endif 99 100 /** 101 * LIBXML_TREE_ENABLED: 102 * 103 * Whether the DOM like tree manipulation API support is configured in 104 */ 105 #if 1 106 #define LIBXML_TREE_ENABLED 107 #endif 108 109 /** 110 * LIBXML_OUTPUT_ENABLED: 111 * 112 * Whether the serialization/saving support is configured in 113 */ 114 #if 1 115 #define LIBXML_OUTPUT_ENABLED 116 #endif 117 118 /** 119 * LIBXML_PUSH_ENABLED: 120 * 121 * Whether the push parsing interfaces are configured in 122 */ 123 #if 1 124 #define LIBXML_PUSH_ENABLED 125 #endif 126 127 /** 128 * LIBXML_READER_ENABLED: 129 * 130 * Whether the xmlReader parsing interface is configured in 131 */ 132 #if 1 133 #define LIBXML_READER_ENABLED 134 #endif 135 136 /** 137 * LIBXML_PATTERN_ENABLED: 138 * 139 * Whether the xmlPattern node selection interface is configured in 140 */ 141 #if 0 142 #define LIBXML_PATTERN_ENABLED 143 #endif 144 145 /** 146 * LIBXML_WRITER_ENABLED: 147 * 148 * Whether the xmlWriter saving interface is configured in 149 */ 150 #if 1 151 #define LIBXML_WRITER_ENABLED 152 #endif 153 154 /** 155 * LIBXML_SAX1_ENABLED: 156 * 157 * Whether the older SAX1 interface is configured in 158 */ 159 #if 1 160 #define LIBXML_SAX1_ENABLED 161 #endif 162 163 /** 164 * LIBXML_FTP_ENABLED: 165 * 166 * Whether the FTP support is configured in 167 */ 168 #if 0 169 #define LIBXML_FTP_ENABLED 170 #endif 171 172 /** 173 * LIBXML_HTTP_ENABLED: 174 * 175 * Whether the HTTP support is configured in 176 */ 177 #if 0 178 #define LIBXML_HTTP_ENABLED 179 #endif 180 181 /** 182 * LIBXML_VALID_ENABLED: 183 * 184 * Whether the DTD validation support is configured in 185 */ 186 #if 0 187 #define LIBXML_VALID_ENABLED 188 #endif 189 190 /** 191 * LIBXML_HTML_ENABLED: 192 * 193 * Whether the HTML support is configured in 194 */ 195 #if 1 196 #define LIBXML_HTML_ENABLED 197 #endif 198 199 /** 200 * LIBXML_LEGACY_ENABLED: 201 * 202 * Whether the deprecated APIs are compiled in for compatibility 203 */ 204 #if 0 205 #define LIBXML_LEGACY_ENABLED 206 #endif 207 208 /** 209 * LIBXML_C14N_ENABLED: 210 * 211 * Whether the Canonicalization support is configured in 212 */ 213 #if 0 214 #define LIBXML_C14N_ENABLED 215 #endif 216 217 /** 218 * LIBXML_CATALOG_ENABLED: 219 * 220 * Whether the Catalog support is configured in 221 */ 222 #if 0 223 #define LIBXML_CATALOG_ENABLED 224 #endif 225 226 /** 227 * LIBXML_DOCB_ENABLED: 228 * 229 * Whether the SGML Docbook support is configured in 230 */ 231 #if 0 232 #define LIBXML_DOCB_ENABLED 233 #endif 234 235 /** 236 * LIBXML_XPATH_ENABLED: 237 * 238 * Whether XPath is configured in 239 */ 240 #if 1 241 #define LIBXML_XPATH_ENABLED 242 #endif 243 244 /** 245 * LIBXML_XPTR_ENABLED: 246 * 247 * Whether XPointer is configured in 248 */ 249 #if 1 250 #define LIBXML_XPTR_ENABLED 251 #endif 252 253 /** 254 * LIBXML_XINCLUDE_ENABLED: 255 * 256 * Whether XInclude is configured in 257 */ 258 #if 0 259 #define LIBXML_XINCLUDE_ENABLED 260 #endif 261 262 /** 263 * LIBXML_ICONV_ENABLED: 264 * 265 * Whether iconv support is available 266 */ 267 #if 0 268 #define LIBXML_ICONV_ENABLED 269 #endif 270 271 /** 272 * LIBXML_ICU_ENABLED: 273 * 274 * Whether icu support is available 275 */ 276 #if 1 277 #define LIBXML_ICU_ENABLED 278 #endif 279 280 /** 281 * LIBXML_ISO8859X_ENABLED: 282 * 283 * Whether ISO-8859-* support is made available in case iconv is not 284 */ 285 #if 1 286 #define LIBXML_ISO8859X_ENABLED 287 #endif 288 289 /** 290 * LIBXML_DEBUG_ENABLED: 291 * 292 * Whether Debugging module is configured in 293 */ 294 #if 0 295 #define LIBXML_DEBUG_ENABLED 296 #endif 297 298 /** 299 * DEBUG_MEMORY_LOCATION: 300 * 301 * Whether the memory debugging is configured in 302 */ 303 #if 0 304 #define DEBUG_MEMORY_LOCATION 305 #endif 306 307 /** 308 * LIBXML_DEBUG_RUNTIME: 309 * 310 * Whether the runtime debugging is configured in 311 */ 312 #if 0 313 #define LIBXML_DEBUG_RUNTIME 314 #endif 315 316 /** 317 * LIBXML_UNICODE_ENABLED: 318 * 319 * Whether the Unicode related interfaces are compiled in 320 */ 321 #if 0 322 #define LIBXML_UNICODE_ENABLED 323 #endif 324 325 /** 326 * LIBXML_REGEXP_ENABLED: 327 * 328 * Whether the regular expressions interfaces are compiled in 329 */ 330 #if 0 331 #define LIBXML_REGEXP_ENABLED 332 #endif 333 334 /** 335 * LIBXML_AUTOMATA_ENABLED: 336 * 337 * Whether the automata interfaces are compiled in 338 */ 339 #if 1 340 #define LIBXML_AUTOMATA_ENABLED 341 #endif 342 343 /** 344 * LIBXML_EXPR_ENABLED: 345 * 346 * Whether the formal expressions interfaces are compiled in 347 */ 348 #if 0 349 #define LIBXML_EXPR_ENABLED 350 #endif 351 352 /** 353 * LIBXML_SCHEMAS_ENABLED: 354 * 355 * Whether the Schemas validation interfaces are compiled in 356 */ 357 #if 0 358 #define LIBXML_SCHEMAS_ENABLED 359 #endif 360 361 /** 362 * LIBXML_SCHEMATRON_ENABLED: 363 * 364 * Whether the Schematron validation interfaces are compiled in 365 */ 366 #if 0 367 #define LIBXML_SCHEMATRON_ENABLED 368 #endif 369 370 /** 371 * LIBXML_MODULES_ENABLED: 372 * 373 * Whether the module interfaces are compiled in 374 */ 375 #if 1 376 #define LIBXML_MODULES_ENABLED 377 /** 378 * LIBXML_MODULE_EXTENSION: 379 * 380 * the string suffix used by dynamic modules (usually shared libraries) 381 */ 382 #define LIBXML_MODULE_EXTENSION "" 383 #endif 384 385 /** 386 * LIBXML_ZLIB_ENABLED: 387 * 388 * Whether the Zlib support is compiled in 389 */ 390 #if 0 391 #define LIBXML_ZLIB_ENABLED 392 #endif 393 394 #ifdef __GNUC__ 395 #ifdef HAVE_ANSIDECL_H 396 #include <ansidecl.h> 397 #endif 398 399 /** 400 * ATTRIBUTE_UNUSED: 401 * 402 * Macro used to signal to GCC unused function parameters 403 */ 404 405 #ifndef ATTRIBUTE_UNUSED 406 #define ATTRIBUTE_UNUSED __attribute__((unused)) 407 #endif 408 409 /** 410 * ATTRIBUTE_ALLOC_SIZE: 411 * 412 * Macro used to indicate to GCC this is an allocator function 413 */ 414 415 #ifndef ATTRIBUTE_ALLOC_SIZE 416 # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) 417 # define ATTRIBUTE_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 418 # else 419 # define ATTRIBUTE_ALLOC_SIZE(x) 420 # endif 421 #else 422 # define ATTRIBUTE_ALLOC_SIZE(x) 423 #endif 424 425 /** 426 * ATTRIBUTE_PRINTF: 427 * 428 * Macro used to indicate to GCC the parameter are printf like 429 */ 430 431 #ifndef ATTRIBUTE_PRINTF 432 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 433 # define ATTRIBUTE_PRINTF(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 434 # else 435 # define ATTRIBUTE_PRINTF(fmt,args) 436 # endif 437 #else 438 # define ATTRIBUTE_PRINTF(fmt,args) 439 #endif 440 441 #else /* ! __GNUC__ */ 442 /** 443 * ATTRIBUTE_UNUSED: 444 * 445 * Macro used to signal to GCC unused function parameters 446 */ 447 #define ATTRIBUTE_UNUSED 448 /** 449 * ATTRIBUTE_ALLOC_SIZE: 450 * 451 * Macro used to indicate to GCC this is an allocator function 452 */ 453 #define ATTRIBUTE_ALLOC_SIZE(x) 454 /** 455 * ATTRIBUTE_PRINTF: 456 * 457 * Macro used to indicate to GCC the parameter are printf like 458 */ 459 #define ATTRIBUTE_PRINTF(fmt,args) 460 #endif /* __GNUC__ */ 461 462 #ifdef __cplusplus 463 } 464 #endif /* __cplusplus */ 465 #endif 466