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