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 #if 1 291 #define LIBXML_ICU_ENABLED 292 #endif 293 294 /** 295 * LIBXML_ISO8859X_ENABLED: 296 * 297 * Whether ISO-8859-* support is made available in case iconv is not 298 */ 299 #if 1 300 #define LIBXML_ISO8859X_ENABLED 301 #endif 302 303 /** 304 * LIBXML_DEBUG_ENABLED: 305 * 306 * Whether Debugging module is configured in 307 */ 308 #if 1 309 #define LIBXML_DEBUG_ENABLED 310 #endif 311 312 /** 313 * DEBUG_MEMORY_LOCATION: 314 * 315 * Whether the memory debugging is configured in 316 */ 317 #if 0 318 #define DEBUG_MEMORY_LOCATION 319 #endif 320 321 /** 322 * LIBXML_DEBUG_RUNTIME: 323 * 324 * Whether the runtime debugging is configured in 325 */ 326 #if 0 327 #define LIBXML_DEBUG_RUNTIME 328 #endif 329 330 /** 331 * LIBXML_UNICODE_ENABLED: 332 * 333 * Whether the Unicode related interfaces are compiled in 334 */ 335 #if 1 336 #define LIBXML_UNICODE_ENABLED 337 #endif 338 339 /** 340 * LIBXML_REGEXP_ENABLED: 341 * 342 * Whether the regular expressions interfaces are compiled in 343 */ 344 #if 1 345 #define LIBXML_REGEXP_ENABLED 346 #endif 347 348 /** 349 * LIBXML_AUTOMATA_ENABLED: 350 * 351 * Whether the automata interfaces are compiled in 352 */ 353 #if 1 354 #define LIBXML_AUTOMATA_ENABLED 355 #endif 356 357 /** 358 * LIBXML_EXPR_ENABLED: 359 * 360 * Whether the formal expressions interfaces are compiled in 361 */ 362 #if 1 363 #define LIBXML_EXPR_ENABLED 364 #endif 365 366 /** 367 * LIBXML_SCHEMAS_ENABLED: 368 * 369 * Whether the Schemas validation interfaces are compiled in 370 */ 371 #if 1 372 #define LIBXML_SCHEMAS_ENABLED 373 #endif 374 375 /** 376 * LIBXML_SCHEMATRON_ENABLED: 377 * 378 * Whether the Schematron validation interfaces are compiled in 379 */ 380 #if 1 381 #define LIBXML_SCHEMATRON_ENABLED 382 #endif 383 384 /** 385 * LIBXML_MODULES_ENABLED: 386 * 387 * Whether the module interfaces are compiled in 388 */ 389 #if 1 390 #define LIBXML_MODULES_ENABLED 391 /** 392 * LIBXML_MODULE_EXTENSION: 393 * 394 * the string suffix used by dynamic modules (usually shared libraries) 395 */ 396 #define LIBXML_MODULE_EXTENSION ".so" 397 #endif 398 399 /** 400 * LIBXML_ZLIB_ENABLED: 401 * 402 * Whether the Zlib support is compiled in 403 */ 404 #if 0 405 #define LIBXML_ZLIB_ENABLED 406 #endif 407 408 /** 409 * LIBXML_LZMA_ENABLED: 410 * 411 * Whether the Lzma support is compiled in 412 */ 413 #if 0 414 #define LIBXML_LZMA_ENABLED 415 #endif 416 417 #ifdef __GNUC__ 418 #ifdef HAVE_ANSIDECL_H 419 #include <ansidecl.h> 420 #endif 421 422 /** 423 * ATTRIBUTE_UNUSED: 424 * 425 * Macro used to signal to GCC unused function parameters 426 */ 427 428 #ifndef ATTRIBUTE_UNUSED 429 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) 430 # define ATTRIBUTE_UNUSED __attribute__((unused)) 431 # else 432 # define ATTRIBUTE_UNUSED 433 # endif 434 #endif 435 436 /** 437 * LIBXML_ATTR_ALLOC_SIZE: 438 * 439 * Macro used to indicate to GCC this is an allocator function 440 */ 441 442 #ifndef LIBXML_ATTR_ALLOC_SIZE 443 # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) 444 # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 445 # else 446 # define LIBXML_ATTR_ALLOC_SIZE(x) 447 # endif 448 #else 449 # define LIBXML_ATTR_ALLOC_SIZE(x) 450 #endif 451 452 /** 453 * LIBXML_ATTR_FORMAT: 454 * 455 * Macro used to indicate to GCC the parameter are printf like 456 */ 457 458 #ifndef LIBXML_ATTR_FORMAT 459 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 460 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 461 # else 462 # define LIBXML_ATTR_FORMAT(fmt,args) 463 # endif 464 #else 465 # define LIBXML_ATTR_FORMAT(fmt,args) 466 #endif 467 468 #else /* ! __GNUC__ */ 469 /** 470 * ATTRIBUTE_UNUSED: 471 * 472 * Macro used to signal to GCC unused function parameters 473 */ 474 #define ATTRIBUTE_UNUSED 475 /** 476 * LIBXML_ATTR_ALLOC_SIZE: 477 * 478 * Macro used to indicate to GCC this is an allocator function 479 */ 480 #define LIBXML_ATTR_ALLOC_SIZE(x) 481 /** 482 * LIBXML_ATTR_FORMAT: 483 * 484 * Macro used to indicate to GCC the parameter are printf like 485 */ 486 #define LIBXML_ATTR_FORMAT(fmt,args) 487 #endif /* __GNUC__ */ 488 489 #ifdef __cplusplus 490 } 491 #endif /* __cplusplus */ 492 #endif 493 494 495