1 /* 2 * Summary: compile-time version information 3 * Description: compile-time version information 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.9.13" 33 34 /** 35 * LIBXML_VERSION: 36 * 37 * the version number: 1.2.3 value is 10203 38 */ 39 #define LIBXML_VERSION 20913 40 41 /** 42 * LIBXML_VERSION_STRING: 43 * 44 * the version number string, 1.2.3 value is "10203" 45 */ 46 #define LIBXML_VERSION_STRING "20913" 47 48 /** 49 * LIBXML_VERSION_EXTRA: 50 * 51 * extra version information, used to show a git commit description 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(20913); 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 #define LIBXML_THREAD_ENABLED 95 #endif 96 97 /** 98 * LIBXML_THREAD_ALLOC_ENABLED: 99 * 100 * Whether the allocation hooks are per-thread 101 */ 102 #if 0 103 #define LIBXML_THREAD_ALLOC_ENABLED 104 #endif 105 106 /** 107 * LIBXML_TREE_ENABLED: 108 * 109 * Whether the DOM like tree manipulation API support is configured in 110 */ 111 #if 1 112 #define LIBXML_TREE_ENABLED 113 #endif 114 115 /** 116 * LIBXML_OUTPUT_ENABLED: 117 * 118 * Whether the serialization/saving support is configured in 119 */ 120 #if 1 121 #define LIBXML_OUTPUT_ENABLED 122 #endif 123 124 /** 125 * LIBXML_PUSH_ENABLED: 126 * 127 * Whether the push parsing interfaces are configured in 128 */ 129 #if 1 130 #define LIBXML_PUSH_ENABLED 131 #endif 132 133 /** 134 * LIBXML_READER_ENABLED: 135 * 136 * Whether the xmlReader parsing interface is configured in 137 */ 138 #if 1 139 #define LIBXML_READER_ENABLED 140 #endif 141 142 /** 143 * LIBXML_PATTERN_ENABLED: 144 * 145 * Whether the xmlPattern node selection interface is configured in 146 */ 147 #if 1 148 #define LIBXML_PATTERN_ENABLED 149 #endif 150 151 /** 152 * LIBXML_WRITER_ENABLED: 153 * 154 * Whether the xmlWriter saving interface is configured in 155 */ 156 #if 1 157 #define LIBXML_WRITER_ENABLED 158 #endif 159 160 /** 161 * LIBXML_SAX1_ENABLED: 162 * 163 * Whether the older SAX1 interface is configured in 164 */ 165 #if 1 166 #define LIBXML_SAX1_ENABLED 167 #endif 168 169 /** 170 * LIBXML_FTP_ENABLED: 171 * 172 * Whether the FTP support is configured in 173 */ 174 #if 1 175 #undef LIBXML_FTP_ENABLED 176 #endif 177 178 /** 179 * LIBXML_HTTP_ENABLED: 180 * 181 * Whether the HTTP support is configured in 182 */ 183 #if 1 184 #undef LIBXML_HTTP_ENABLED 185 #endif 186 187 /** 188 * LIBXML_VALID_ENABLED: 189 * 190 * Whether the DTD validation support is configured in 191 */ 192 #if 1 193 #define LIBXML_VALID_ENABLED 194 #endif 195 196 /** 197 * LIBXML_HTML_ENABLED: 198 * 199 * Whether the HTML support is configured in 200 */ 201 #if 1 202 #undef LIBXML_HTML_ENABLED 203 #endif 204 205 /** 206 * LIBXML_LEGACY_ENABLED: 207 * 208 * Whether the deprecated APIs are compiled in for compatibility 209 */ 210 #if 1 211 #undef LIBXML_LEGACY_ENABLED 212 #endif 213 214 /** 215 * LIBXML_C14N_ENABLED: 216 * 217 * Whether the Canonicalization support is configured in 218 */ 219 #if 1 220 #define LIBXML_C14N_ENABLED 221 #endif 222 223 /** 224 * LIBXML_CATALOG_ENABLED: 225 * 226 * Whether the Catalog support is configured in 227 */ 228 #if 1 229 #define LIBXML_CATALOG_ENABLED 230 #endif 231 232 /** 233 * LIBXML_DOCB_ENABLED: 234 * 235 * Whether the SGML Docbook support is configured in 236 */ 237 #if 0 238 #define LIBXML_DOCB_ENABLED 239 #endif 240 241 /** 242 * LIBXML_XPATH_ENABLED: 243 * 244 * Whether XPath is configured in 245 */ 246 #if 1 247 #define LIBXML_XPATH_ENABLED 248 #endif 249 250 /** 251 * LIBXML_XPTR_ENABLED: 252 * 253 * Whether XPointer is configured in 254 */ 255 #if 1 256 #define LIBXML_XPTR_ENABLED 257 #endif 258 259 /** 260 * LIBXML_XINCLUDE_ENABLED: 261 * 262 * Whether XInclude is configured in 263 */ 264 #if 1 265 #define LIBXML_XINCLUDE_ENABLED 266 #endif 267 268 /** 269 * LIBXML_ICONV_ENABLED: 270 * 271 * Whether iconv support is available 272 */ 273 #if 1 274 #undef LIBXML_ICONV_ENABLED 275 #endif 276 277 /** 278 * LIBXML_ICU_ENABLED: 279 * 280 * Whether icu support is available 281 * 282 * This is disabled when libxml2 is 283 * 1. built for the VNDK. 284 * libicuuc.so isn't available in the VNDK. 285 * 2. built as an static library on Android 286 * libicuuc.so isn't available for static linking. 287 */ 288 #undef LIBXML_ICU_ENABLED 289 #ifdef __ANDROID_VNDK__ 290 #undef LIBXML_ICU_ENABLED 291 #elif defined(__ANDROID__) && defined(STATIC_LIBXML) 292 #undef LIBXML_ICU_ENABLED 293 #else 294 #define LIBXML_ICU_ENABLED 295 #endif 296 297 /** 298 * LIBXML_ISO8859X_ENABLED: 299 * 300 * Whether ISO-8859-* support is made available in case iconv is not 301 */ 302 #if 1 303 #define LIBXML_ISO8859X_ENABLED 304 #endif 305 306 /** 307 * LIBXML_DEBUG_ENABLED: 308 * 309 * Whether Debugging module is configured in 310 */ 311 #if 1 312 #define LIBXML_DEBUG_ENABLED 313 #endif 314 315 /** 316 * DEBUG_MEMORY_LOCATION: 317 * 318 * Whether the memory debugging is configured in 319 */ 320 #if 0 321 #define DEBUG_MEMORY_LOCATION 322 #endif 323 324 /** 325 * LIBXML_DEBUG_RUNTIME: 326 * 327 * Whether the runtime debugging is configured in 328 */ 329 #if 0 330 #define LIBXML_DEBUG_RUNTIME 331 #endif 332 333 /** 334 * LIBXML_UNICODE_ENABLED: 335 * 336 * Whether the Unicode related interfaces are compiled in 337 */ 338 #if 1 339 #define LIBXML_UNICODE_ENABLED 340 #endif 341 342 /** 343 * LIBXML_REGEXP_ENABLED: 344 * 345 * Whether the regular expressions interfaces are compiled in 346 */ 347 #if 1 348 #define LIBXML_REGEXP_ENABLED 349 #endif 350 351 /** 352 * LIBXML_AUTOMATA_ENABLED: 353 * 354 * Whether the automata interfaces are compiled in 355 */ 356 #if 1 357 #define LIBXML_AUTOMATA_ENABLED 358 #endif 359 360 /** 361 * LIBXML_EXPR_ENABLED: 362 * 363 * Whether the formal expressions interfaces are compiled in 364 * 365 * This code is unused and disabled unconditionally for now. 366 */ 367 #if 0 368 #define LIBXML_EXPR_ENABLED 369 #endif 370 371 /** 372 * LIBXML_SCHEMAS_ENABLED: 373 * 374 * Whether the Schemas validation interfaces are compiled in 375 */ 376 #if 1 377 #define LIBXML_SCHEMAS_ENABLED 378 #endif 379 380 /** 381 * LIBXML_SCHEMATRON_ENABLED: 382 * 383 * Whether the Schematron validation interfaces are compiled in 384 */ 385 #if 1 386 #define LIBXML_SCHEMATRON_ENABLED 387 #endif 388 389 /** 390 * LIBXML_MODULES_ENABLED: 391 * 392 * Whether the module interfaces are compiled in 393 */ 394 #if 1 395 #define LIBXML_MODULES_ENABLED 396 /** 397 * LIBXML_MODULE_EXTENSION: 398 * 399 * the string suffix used by dynamic modules (usually shared libraries) 400 */ 401 #define LIBXML_MODULE_EXTENSION ".so" 402 #endif 403 404 /** 405 * LIBXML_ZLIB_ENABLED: 406 * 407 * Whether the Zlib support is compiled in 408 */ 409 #if 1 410 #undef LIBXML_ZLIB_ENABLED 411 #endif 412 413 /** 414 * LIBXML_LZMA_ENABLED: 415 * 416 * Whether the Lzma support is compiled in 417 */ 418 #if 1 419 #undef LIBXML_LZMA_ENABLED 420 #endif 421 422 #ifdef __GNUC__ 423 424 /** 425 * ATTRIBUTE_UNUSED: 426 * 427 * Macro used to signal to GCC unused function parameters 428 */ 429 430 #ifndef ATTRIBUTE_UNUSED 431 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) 432 # define ATTRIBUTE_UNUSED __attribute__((unused)) 433 # else 434 # define ATTRIBUTE_UNUSED 435 # endif 436 #endif 437 438 /** 439 * LIBXML_ATTR_ALLOC_SIZE: 440 * 441 * Macro used to indicate to GCC this is an allocator function 442 */ 443 444 #ifndef LIBXML_ATTR_ALLOC_SIZE 445 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) 446 # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 447 # else 448 # define LIBXML_ATTR_ALLOC_SIZE(x) 449 # endif 450 #else 451 # define LIBXML_ATTR_ALLOC_SIZE(x) 452 #endif 453 454 /** 455 * LIBXML_ATTR_FORMAT: 456 * 457 * Macro used to indicate to GCC the parameter are printf like 458 */ 459 460 #ifndef LIBXML_ATTR_FORMAT 461 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 462 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 463 # else 464 # define LIBXML_ATTR_FORMAT(fmt,args) 465 # endif 466 #else 467 # define LIBXML_ATTR_FORMAT(fmt,args) 468 #endif 469 470 #ifndef XML_DEPRECATED 471 # ifdef IN_LIBXML 472 # define XML_DEPRECATED 473 # else 474 /* Available since at least GCC 3.1 */ 475 # define XML_DEPRECATED __attribute__((deprecated)) 476 # endif 477 #endif 478 479 #else /* ! __GNUC__ */ 480 /** 481 * ATTRIBUTE_UNUSED: 482 * 483 * Macro used to signal to GCC unused function parameters 484 */ 485 #define ATTRIBUTE_UNUSED 486 /** 487 * LIBXML_ATTR_ALLOC_SIZE: 488 * 489 * Macro used to indicate to GCC this is an allocator function 490 */ 491 #define LIBXML_ATTR_ALLOC_SIZE(x) 492 /** 493 * LIBXML_ATTR_FORMAT: 494 * 495 * Macro used to indicate to GCC the parameter are printf like 496 */ 497 #define LIBXML_ATTR_FORMAT(fmt,args) 498 /** 499 * XML_DEPRECATED: 500 * 501 * Macro used to indicate that a function, variable, type or struct member 502 * is deprecated. 503 */ 504 #ifndef XML_DEPRECATED 505 #define XML_DEPRECATED 506 #endif 507 #endif /* __GNUC__ */ 508 509 #ifdef __cplusplus 510 } 511 #endif /* __cplusplus */ 512 #endif 513 514 515