1 /* 2 * Summary: compile-time version information 3 * Description: compile-time version information 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 /** 14 * LIBXML_DOTTED_VERSION: 15 * 16 * the version string like "1.2.3" 17 */ 18 #define LIBXML_DOTTED_VERSION "2.14.0" 19 20 /** 21 * LIBXML_VERSION: 22 * 23 * the version number: 1.2.3 value is 10203 24 */ 25 #define LIBXML_VERSION 21400 26 27 /** 28 * LIBXML_VERSION_STRING: 29 * 30 * the version number string, 1.2.3 value is "10203" 31 */ 32 #define LIBXML_VERSION_STRING "21400" 33 34 /** 35 * LIBXML_VERSION_EXTRA: 36 * 37 * extra version information, used to show a git commit description 38 */ 39 #define LIBXML_VERSION_EXTRA "-GITv2.13.0-1719-g0a6934a2" 40 41 /** 42 * LIBXML_TEST_VERSION: 43 * 44 * Macro to check that the libxml version in use is compatible with 45 * the version the software has been compiled against 46 */ 47 #define LIBXML_TEST_VERSION xmlCheckVersion(21400); 48 49 /** 50 * LIBXML_THREAD_ENABLED: 51 * 52 * Whether the thread support is configured in 53 */ 54 #if 1 55 #define LIBXML_THREAD_ENABLED 56 #endif 57 58 /** 59 * LIBXML_THREAD_ALLOC_ENABLED: 60 * 61 * Whether the allocation hooks are per-thread 62 */ 63 #if 0 64 #define LIBXML_THREAD_ALLOC_ENABLED 65 #endif 66 67 /** 68 * LIBXML_TREE_ENABLED: 69 * 70 * Always enabled since 2.14.0 71 */ 72 #if 1 73 #define LIBXML_TREE_ENABLED 74 #endif 75 76 /** 77 * LIBXML_OUTPUT_ENABLED: 78 * 79 * Whether the serialization/saving support is configured in 80 */ 81 #if 1 82 #define LIBXML_OUTPUT_ENABLED 83 #endif 84 85 /** 86 * LIBXML_PUSH_ENABLED: 87 * 88 * Whether the push parsing interfaces are configured in 89 */ 90 #if 1 91 #define LIBXML_PUSH_ENABLED 92 #endif 93 94 /** 95 * LIBXML_READER_ENABLED: 96 * 97 * Whether the xmlReader parsing interface is configured in 98 */ 99 #if 1 100 #define LIBXML_READER_ENABLED 101 #endif 102 103 /** 104 * LIBXML_PATTERN_ENABLED: 105 * 106 * Whether the xmlPattern node selection interface is configured in 107 */ 108 #if 1 109 #define LIBXML_PATTERN_ENABLED 110 #endif 111 112 /** 113 * LIBXML_WRITER_ENABLED: 114 * 115 * Whether the xmlWriter saving interface is configured in 116 */ 117 #if 1 118 #define LIBXML_WRITER_ENABLED 119 #endif 120 121 /** 122 * LIBXML_SAX1_ENABLED: 123 * 124 * Whether the older SAX1 interface is configured in 125 */ 126 #if 1 127 #define LIBXML_SAX1_ENABLED 128 #endif 129 130 /** 131 * LIBXML_HTTP_ENABLED: 132 * 133 * Whether the HTTP support is configured in 134 */ 135 #if 0 136 #define LIBXML_HTTP_ENABLED 137 #endif 138 139 /** 140 * LIBXML_VALID_ENABLED: 141 * 142 * Whether the DTD validation support is configured in 143 */ 144 #if 1 145 #define LIBXML_VALID_ENABLED 146 #endif 147 148 /** 149 * LIBXML_HTML_ENABLED: 150 * 151 * Whether the HTML support is configured in 152 */ 153 #if 0 154 #define LIBXML_HTML_ENABLED 155 #endif 156 157 /** 158 * LIBXML_LEGACY_ENABLED: 159 * 160 * Whether the deprecated APIs are compiled in for compatibility 161 */ 162 #if 0 163 #define LIBXML_LEGACY_ENABLED 164 #endif 165 166 /** 167 * LIBXML_C14N_ENABLED: 168 * 169 * Whether the Canonicalization support is configured in 170 */ 171 #if 1 172 #define LIBXML_C14N_ENABLED 173 #endif 174 175 /** 176 * LIBXML_CATALOG_ENABLED: 177 * 178 * Whether the Catalog support is configured in 179 */ 180 #if 1 181 #define LIBXML_CATALOG_ENABLED 182 #endif 183 184 /** 185 * LIBXML_XPATH_ENABLED: 186 * 187 * Whether XPath is configured in 188 */ 189 #if 1 190 #define LIBXML_XPATH_ENABLED 191 #endif 192 193 /** 194 * LIBXML_XPTR_ENABLED: 195 * 196 * Whether XPointer is configured in 197 */ 198 #if 1 199 #define LIBXML_XPTR_ENABLED 200 #endif 201 202 /** 203 * LIBXML_XINCLUDE_ENABLED: 204 * 205 * Whether XInclude is configured in 206 */ 207 #if 1 208 #define LIBXML_XINCLUDE_ENABLED 209 #endif 210 211 /** 212 * LIBXML_ICONV_ENABLED: 213 * 214 * Whether iconv support is available 215 */ 216 #if 0 217 #define LIBXML_ICONV_ENABLED 218 #endif 219 220 /** 221 * LIBXML_ICU_ENABLED: 222 * 223 * Whether icu support is available 224 * 225 * This is disabled when libxml2 is 226 * 1. built for the VNDK. 227 * libicuuc.so isn't available in the VNDK. 228 * 2. built as an static library on Android 229 * libicuuc.so isn't available for static linking. 230 */ 231 #undef LIBXML_ICU_ENABLED 232 #ifdef __ANDROID_VNDK__ 233 #undef LIBXML_ICU_ENABLED 234 #elif defined(__ANDROID__) && defined(STATIC_LIBXML) 235 #undef LIBXML_ICU_ENABLED 236 #else 237 #define LIBXML_ICU_ENABLED 238 #endif 239 240 /** 241 * LIBXML_ISO8859X_ENABLED: 242 * 243 * Whether ISO-8859-* support is made available in case iconv is not 244 */ 245 #if 1 246 #define LIBXML_ISO8859X_ENABLED 247 #endif 248 249 /** 250 * LIBXML_DEBUG_ENABLED: 251 * 252 * Whether Debugging module is configured in 253 */ 254 #if 1 255 #define LIBXML_DEBUG_ENABLED 256 #endif 257 258 /** 259 * LIBXML_UNICODE_ENABLED: 260 * 261 * Whether the Unicode related interfaces are compiled in 262 */ 263 #if 1 264 #define LIBXML_UNICODE_ENABLED 265 #endif 266 267 /** 268 * LIBXML_REGEXP_ENABLED: 269 * 270 * Whether the regular expressions interfaces are compiled in 271 */ 272 #if 1 273 #define LIBXML_REGEXP_ENABLED 274 #endif 275 276 /** 277 * LIBXML_AUTOMATA_ENABLED: 278 * 279 * Whether the automata interfaces are compiled in 280 */ 281 #if 1 282 #define LIBXML_AUTOMATA_ENABLED 283 #endif 284 285 /** 286 * LIBXML_SCHEMAS_ENABLED: 287 * 288 * Whether the Schemas validation interfaces are compiled in 289 */ 290 #if 1 291 #define LIBXML_SCHEMAS_ENABLED 292 #endif 293 294 /** 295 * LIBXML_SCHEMATRON_ENABLED: 296 * 297 * Whether the Schematron validation interfaces are compiled in 298 */ 299 #if 1 300 #define LIBXML_SCHEMATRON_ENABLED 301 #endif 302 303 /** 304 * LIBXML_MODULES_ENABLED: 305 * 306 * Whether the module interfaces are compiled in 307 */ 308 #if 1 309 #define LIBXML_MODULES_ENABLED 310 /** 311 * LIBXML_MODULE_EXTENSION: 312 * 313 * the string suffix used by dynamic modules (usually shared libraries) 314 */ 315 #define LIBXML_MODULE_EXTENSION ".so" 316 #endif 317 318 /** 319 * LIBXML_ZLIB_ENABLED: 320 * 321 * Whether the Zlib support is compiled in 322 */ 323 #if 0 324 #define LIBXML_ZLIB_ENABLED 325 #endif 326 327 /** 328 * LIBXML_LZMA_ENABLED: 329 * 330 * Whether the Lzma support is compiled in 331 */ 332 #if 0 333 #define LIBXML_LZMA_ENABLED 334 #endif 335 336 #ifdef __GNUC__ 337 /** DOC_DISABLE */ 338 #ifndef ATTRIBUTE_UNUSED 339 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) 340 # define ATTRIBUTE_UNUSED __attribute__((unused)) 341 # else 342 # define ATTRIBUTE_UNUSED 343 # endif 344 #endif 345 346 #ifndef LIBXML_ATTR_ALLOC_SIZE 347 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) 348 # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 349 # else 350 # define LIBXML_ATTR_ALLOC_SIZE(x) 351 # endif 352 #else 353 # define LIBXML_ATTR_ALLOC_SIZE(x) 354 #endif 355 356 #ifndef LIBXML_ATTR_FORMAT 357 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 358 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 359 # else 360 # define LIBXML_ATTR_FORMAT(fmt,args) 361 # endif 362 #else 363 # define LIBXML_ATTR_FORMAT(fmt,args) 364 #endif 365 366 #ifndef XML_DEPRECATED 367 # if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301) 368 # define XML_DEPRECATED 369 /* Available since at least GCC 3.1 */ 370 # else 371 # define XML_DEPRECATED __attribute__((deprecated)) 372 # endif 373 #endif 374 375 #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) 376 #define XML_IGNORE_FPTR_CAST_WARNINGS \ 377 _Pragma("GCC diagnostic push") \ 378 _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \ 379 _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"") 380 #define XML_POP_WARNINGS \ 381 _Pragma("GCC diagnostic pop") 382 #else 383 #define XML_IGNORE_FPTR_CAST_WARNINGS 384 #define XML_POP_WARNINGS 385 #endif 386 387 #else /* ! __GNUC__ */ 388 #define ATTRIBUTE_UNUSED 389 #define LIBXML_ATTR_ALLOC_SIZE(x) 390 #define LIBXML_ATTR_FORMAT(fmt,args) 391 #ifndef XML_DEPRECATED 392 # if defined (IN_LIBXML) || !defined (_MSC_VER) 393 # define XML_DEPRECATED 394 /* Available since Visual Studio 2005 */ 395 # elif defined (_MSC_VER) && (_MSC_VER >= 1400) 396 # define XML_DEPRECATED __declspec(deprecated) 397 # endif 398 #endif 399 #if defined (_MSC_VER) && (_MSC_VER >= 1400) 400 # define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push)) 401 #else 402 # define XML_IGNORE_FPTR_CAST_WARNINGS 403 #endif 404 #ifndef XML_POP_WARNINGS 405 # if defined (_MSC_VER) && (_MSC_VER >= 1400) 406 # define XML_POP_WARNINGS __pragma(warning(pop)) 407 # else 408 # define XML_POP_WARNINGS 409 # endif 410 #endif 411 #endif /* __GNUC__ */ 412 413 #define XML_EMPTY 414 415 #ifdef LIBXML_THREAD_ENABLED 416 #define XML_DECLARE_GLOBAL(name, type, attrs) \ 417 attrs XMLPUBFUN type *__##name(void); 418 #define XML_GLOBAL_MACRO(name) (*__##name()) 419 #else 420 #define XML_DECLARE_GLOBAL(name, type, attrs) \ 421 attrs XMLPUBVAR type name; 422 #endif 423 424 #include <libxml/xmlexports.h> 425 426 #endif 427 428 429