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 16extern "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 24XMLPUBFUN 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