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.2" 33 34 /** 35 * LIBXML_VERSION: 36 * 37 * the version number: 1.2.3 value is 10203 38 */ 39 #define LIBXML_VERSION 20902 40 41 /** 42 * LIBXML_VERSION_STRING: 43 * 44 * the version number string, 1.2.3 value is "10203" 45 */ 46 #define LIBXML_VERSION_STRING "20902" 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.2-48-g4b31d61" 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(20902); 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 0 178 #define LIBXML_FTP_ENABLED 179 #endif 180 181 /** 182 * LIBXML_HTTP_ENABLED: 183 * 184 * Whether the HTTP support is configured in 185 */ 186 #if 0 187 #define 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 // BEGIN android-changed 205 // Was: #if 1 206 // HTML support has security vulnerabilities (b/27338391) 207 // and is not needed in Android. 208 #if 0 209 // END android-changed 210 #define LIBXML_HTML_ENABLED 211 #endif 212 213 /** 214 * LIBXML_LEGACY_ENABLED: 215 * 216 * Whether the deprecated APIs are compiled in for compatibility 217 */ 218 #if 0 219 #define LIBXML_LEGACY_ENABLED 220 #endif 221 222 /** 223 * LIBXML_C14N_ENABLED: 224 * 225 * Whether the Canonicalization support is configured in 226 */ 227 #if 1 228 #define LIBXML_C14N_ENABLED 229 #endif 230 231 /** 232 * LIBXML_CATALOG_ENABLED: 233 * 234 * Whether the Catalog support is configured in 235 */ 236 #if 1 237 #define LIBXML_CATALOG_ENABLED 238 #endif 239 240 /** 241 * LIBXML_DOCB_ENABLED: 242 * 243 * Whether the SGML Docbook support is configured in 244 */ 245 #if 1 246 #define LIBXML_DOCB_ENABLED 247 #endif 248 249 /** 250 * LIBXML_XPATH_ENABLED: 251 * 252 * Whether XPath is configured in 253 */ 254 #if 1 255 #define LIBXML_XPATH_ENABLED 256 #endif 257 258 /** 259 * LIBXML_XPTR_ENABLED: 260 * 261 * Whether XPointer is configured in 262 */ 263 #if 1 264 #define LIBXML_XPTR_ENABLED 265 #endif 266 267 /** 268 * LIBXML_XINCLUDE_ENABLED: 269 * 270 * Whether XInclude is configured in 271 */ 272 #if 1 273 #define LIBXML_XINCLUDE_ENABLED 274 #endif 275 276 /** 277 * LIBXML_ICONV_ENABLED: 278 * 279 * Whether iconv support is available 280 */ 281 #if 0 282 #define LIBXML_ICONV_ENABLED 283 #endif 284 285 /** 286 * LIBXML_ICU_ENABLED: 287 * 288 * Whether icu support is available 289 * 290 * This is disabled when libxml2 is built for the VNDK. 291 * libicuuc.so isn't available in the VNDK. 292 */ 293 #ifndef __ANDROID_VNDK__ 294 #define LIBXML_ICU_ENABLED 295 #else 296 #undef LIBXML_ICU_ENABLED 297 #endif 298 299 /** 300 * LIBXML_ISO8859X_ENABLED: 301 * 302 * Whether ISO-8859-* support is made available in case iconv is not 303 */ 304 #if 1 305 #define LIBXML_ISO8859X_ENABLED 306 #endif 307 308 /** 309 * LIBXML_DEBUG_ENABLED: 310 * 311 * Whether Debugging module is configured in 312 */ 313 #if 1 314 #define LIBXML_DEBUG_ENABLED 315 #endif 316 317 /** 318 * DEBUG_MEMORY_LOCATION: 319 * 320 * Whether the memory debugging is configured in 321 */ 322 #if 0 323 #define DEBUG_MEMORY_LOCATION 324 #endif 325 326 /** 327 * LIBXML_DEBUG_RUNTIME: 328 * 329 * Whether the runtime debugging is configured in 330 */ 331 #if 0 332 #define LIBXML_DEBUG_RUNTIME 333 #endif 334 335 /** 336 * LIBXML_UNICODE_ENABLED: 337 * 338 * Whether the Unicode related interfaces are compiled in 339 */ 340 #if 1 341 #define LIBXML_UNICODE_ENABLED 342 #endif 343 344 /** 345 * LIBXML_REGEXP_ENABLED: 346 * 347 * Whether the regular expressions interfaces are compiled in 348 */ 349 #if 1 350 #define LIBXML_REGEXP_ENABLED 351 #endif 352 353 /** 354 * LIBXML_AUTOMATA_ENABLED: 355 * 356 * Whether the automata interfaces are compiled in 357 */ 358 #if 1 359 #define LIBXML_AUTOMATA_ENABLED 360 #endif 361 362 /** 363 * LIBXML_EXPR_ENABLED: 364 * 365 * Whether the formal expressions interfaces are compiled in 366 */ 367 #if 1 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 0 410 #define LIBXML_ZLIB_ENABLED 411 #endif 412 413 /** 414 * LIBXML_LZMA_ENABLED: 415 * 416 * Whether the Lzma support is compiled in 417 */ 418 #if 0 419 #define LIBXML_LZMA_ENABLED 420 #endif 421 422 #ifdef __GNUC__ 423 #ifdef HAVE_ANSIDECL_H 424 #include <ansidecl.h> 425 #endif 426 427 /** 428 * ATTRIBUTE_UNUSED: 429 * 430 * Macro used to signal to GCC unused function parameters 431 */ 432 433 #ifndef ATTRIBUTE_UNUSED 434 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) 435 # define ATTRIBUTE_UNUSED __attribute__((unused)) 436 # else 437 # define ATTRIBUTE_UNUSED 438 # endif 439 #endif 440 441 /** 442 * LIBXML_ATTR_ALLOC_SIZE: 443 * 444 * Macro used to indicate to GCC this is an allocator function 445 */ 446 447 #ifndef LIBXML_ATTR_ALLOC_SIZE 448 # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) 449 # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 450 # else 451 # define LIBXML_ATTR_ALLOC_SIZE(x) 452 # endif 453 #else 454 # define LIBXML_ATTR_ALLOC_SIZE(x) 455 #endif 456 457 /** 458 * LIBXML_ATTR_FORMAT: 459 * 460 * Macro used to indicate to GCC the parameter are printf like 461 */ 462 463 #ifndef LIBXML_ATTR_FORMAT 464 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 465 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 466 # else 467 # define LIBXML_ATTR_FORMAT(fmt,args) 468 # endif 469 #else 470 # define LIBXML_ATTR_FORMAT(fmt,args) 471 #endif 472 473 #else /* ! __GNUC__ */ 474 /** 475 * ATTRIBUTE_UNUSED: 476 * 477 * Macro used to signal to GCC unused function parameters 478 */ 479 #define ATTRIBUTE_UNUSED 480 /** 481 * LIBXML_ATTR_ALLOC_SIZE: 482 * 483 * Macro used to indicate to GCC this is an allocator function 484 */ 485 #define LIBXML_ATTR_ALLOC_SIZE(x) 486 /** 487 * LIBXML_ATTR_FORMAT: 488 * 489 * Macro used to indicate to GCC the parameter are printf like 490 */ 491 #define LIBXML_ATTR_FORMAT(fmt,args) 492 #endif /* __GNUC__ */ 493 494 #ifdef __cplusplus 495 } 496 #endif /* __cplusplus */ 497 #endif 498 499 500