Home | History | Annotate | Download | only in libxml
      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