1 /* libxml2 - Library for parsing XML documents 2 * Copyright (C) 2006-2019 Free Software Foundation, Inc. 3 * 4 * This file is not part of the GNU gettext program, but is used with 5 * GNU gettext. 6 * 7 * The original copyright notice is as follows: 8 */ 9 10 /* 11 * Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. 12 * 13 * Permission is hereby granted, free of charge, to any person obtaining a copy 14 * of this software and associated documentation files (the "Software"), to deal 15 * in the Software without restriction, including without limitation the rights 16 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 * copies of the Software, and to permit persons to whom the Software is fur- 18 * nished to do so, subject to the following conditions: 19 * 20 * The above copyright notice and this permission notice shall be included in 21 * all copies or substantial portions of the Software. 22 * 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- 25 * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 * THE SOFTWARE. 30 * 31 * Author: Daniel Veillard 32 */ 33 34 /* 35 * Summary: compile-time version informations 36 * Description: compile-time version informations for the XML library 37 */ 38 39 #ifndef __XML_VERSION_H__ 40 #define __XML_VERSION_H__ 41 42 #include <libxml/xmlexports.h> 43 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 /* 49 * use those to be sure nothing nasty will happen if 50 * your library and includes mismatch 51 */ 52 #ifndef LIBXML2_COMPILING_MSCCDEF 53 XMLPUBFUN void XMLCALL xmlCheckVersion(int version); 54 #endif /* LIBXML2_COMPILING_MSCCDEF */ 55 56 /** 57 * LIBXML_DOTTED_VERSION: 58 * 59 * the version string like "1.2.3" 60 */ 61 #define LIBXML_DOTTED_VERSION "2.9.9" 62 63 /** 64 * LIBXML_VERSION: 65 * 66 * the version number: 1.2.3 value is 10203 67 */ 68 #define LIBXML_VERSION 20909 69 70 /** 71 * LIBXML_VERSION_STRING: 72 * 73 * the version number string, 1.2.3 value is "10203" 74 */ 75 #define LIBXML_VERSION_STRING "20909" 76 77 /** 78 * LIBXML_VERSION_EXTRA: 79 * 80 * extra version information, used to show a CVS compilation 81 */ 82 #define LIBXML_VERSION_EXTRA "-GITv2.9.9-rc2-2-g7c4949afa" 83 84 /** 85 * LIBXML_TEST_VERSION: 86 * 87 * Macro to check that the libxml version in use is compatible with 88 * the version the software has been compiled against 89 */ 90 #define LIBXML_TEST_VERSION xmlCheckVersion(20909); 91 92 #ifndef VMS 93 #if 0 94 /** 95 * WITH_TRIO: 96 * 97 * defined if the trio support need to be configured in 98 */ 99 #define WITH_TRIO 100 #else 101 /** 102 * WITHOUT_TRIO: 103 * 104 * defined if the trio support should not be configured in 105 */ 106 #define WITHOUT_TRIO 107 #endif 108 #else /* VMS */ 109 /** 110 * WITH_TRIO: 111 * 112 * defined if the trio support need to be configured in 113 */ 114 #define WITH_TRIO 1 115 #endif /* VMS */ 116 117 /** 118 * LIBXML_THREAD_ENABLED: 119 * 120 * Whether the thread support is configured in 121 */ 122 #if 0 123 #if defined(_REENTRANT) || defined(__MT__) || \ 124 (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) 125 #define LIBXML_THREAD_ENABLED 126 #endif 127 #endif 128 129 /** 130 * LIBXML_THREAD_ALLOC_ENABLED: 131 * 132 * Whether the allocation hooks are per-thread 133 */ 134 #if 0 135 #define LIBXML_THREAD_ALLOC_ENABLED 136 #endif 137 138 /** 139 * LIBXML_TREE_ENABLED: 140 * 141 * Whether the DOM like tree manipulation API support is configured in 142 */ 143 #if 1 144 #define LIBXML_TREE_ENABLED 145 #endif 146 147 /** 148 * LIBXML_OUTPUT_ENABLED: 149 * 150 * Whether the serialization/saving support is configured in 151 */ 152 #if 1 153 #define LIBXML_OUTPUT_ENABLED 154 #endif 155 156 /** 157 * LIBXML_PUSH_ENABLED: 158 * 159 * Whether the push parsing interfaces are configured in 160 */ 161 #if 1 162 #define LIBXML_PUSH_ENABLED 163 #endif 164 165 /** 166 * LIBXML_READER_ENABLED: 167 * 168 * Whether the xmlReader parsing interface is configured in 169 */ 170 #if 1 171 #define LIBXML_READER_ENABLED 172 #endif 173 174 /** 175 * LIBXML_PATTERN_ENABLED: 176 * 177 * Whether the xmlPattern node selection interface is configured in 178 */ 179 #if 0 180 #define LIBXML_PATTERN_ENABLED 181 #endif 182 183 /** 184 * LIBXML_WRITER_ENABLED: 185 * 186 * Whether the xmlWriter saving interface is configured in 187 */ 188 #if 1 189 #define LIBXML_WRITER_ENABLED 190 #endif 191 192 /** 193 * LIBXML_SAX1_ENABLED: 194 * 195 * Whether the older SAX1 interface is configured in 196 */ 197 #if 0 198 #define LIBXML_SAX1_ENABLED 199 #endif 200 201 /** 202 * LIBXML_FTP_ENABLED: 203 * 204 * Whether the FTP support is configured in 205 */ 206 #if 0 207 #define LIBXML_FTP_ENABLED 208 #endif 209 210 /** 211 * LIBXML_HTTP_ENABLED: 212 * 213 * Whether the HTTP support is configured in 214 */ 215 #if 0 216 #define LIBXML_HTTP_ENABLED 217 #endif 218 219 /** 220 * LIBXML_VALID_ENABLED: 221 * 222 * Whether the DTD validation support is configured in 223 */ 224 #if 0 225 #define LIBXML_VALID_ENABLED 226 #endif 227 228 /** 229 * LIBXML_HTML_ENABLED: 230 * 231 * Whether the HTML support is configured in 232 */ 233 #if 0 234 #define LIBXML_HTML_ENABLED 235 #endif 236 237 /** 238 * LIBXML_LEGACY_ENABLED: 239 * 240 * Whether the deprecated APIs are compiled in for compatibility 241 */ 242 #if 0 243 #define LIBXML_LEGACY_ENABLED 244 #endif 245 246 /** 247 * LIBXML_C14N_ENABLED: 248 * 249 * Whether the Canonicalization support is configured in 250 */ 251 #if 0 252 #define LIBXML_C14N_ENABLED 253 #endif 254 255 /** 256 * LIBXML_CATALOG_ENABLED: 257 * 258 * Whether the Catalog support is configured in 259 */ 260 #if 0 261 #define LIBXML_CATALOG_ENABLED 262 #endif 263 264 /** 265 * LIBXML_DOCB_ENABLED: 266 * 267 * Whether the SGML Docbook support is configured in 268 */ 269 #if 0 270 #define LIBXML_DOCB_ENABLED 271 #endif 272 273 /** 274 * LIBXML_XPATH_ENABLED: 275 * 276 * Whether XPath is configured in 277 */ 278 #if 1 279 #define LIBXML_XPATH_ENABLED 280 #endif 281 282 /** 283 * LIBXML_XPTR_ENABLED: 284 * 285 * Whether XPointer is configured in 286 */ 287 #if 1 288 #define LIBXML_XPTR_ENABLED 289 #endif 290 291 /** 292 * LIBXML_XINCLUDE_ENABLED: 293 * 294 * Whether XInclude is configured in 295 */ 296 #if 0 297 #define LIBXML_XINCLUDE_ENABLED 298 #endif 299 300 /** 301 * LIBXML_ICONV_ENABLED: 302 * 303 * Whether iconv support is available 304 */ 305 #if 1 306 #define LIBXML_ICONV_ENABLED 307 #endif 308 309 /** 310 * LIBXML_ICU_ENABLED: 311 * 312 * Whether icu support is available 313 */ 314 #if 0 315 #define LIBXML_ICU_ENABLED 316 #endif 317 318 /** 319 * LIBXML_ISO8859X_ENABLED: 320 * 321 * Whether ISO-8859-* support is made available in case iconv is not 322 */ 323 #if 1 324 #define LIBXML_ISO8859X_ENABLED 325 #endif 326 327 /** 328 * LIBXML_DEBUG_ENABLED: 329 * 330 * Whether Debugging module is configured in 331 */ 332 #if 0 333 #define LIBXML_DEBUG_ENABLED 334 #endif 335 336 /** 337 * DEBUG_MEMORY_LOCATION: 338 * 339 * Whether the memory debugging is configured in 340 */ 341 #if 0 342 #define DEBUG_MEMORY_LOCATION 343 #endif 344 345 /** 346 * LIBXML_DEBUG_RUNTIME: 347 * 348 * Whether the runtime debugging is configured in 349 */ 350 #if 0 351 #define LIBXML_DEBUG_RUNTIME 352 #endif 353 354 /** 355 * LIBXML_UNICODE_ENABLED: 356 * 357 * Whether the Unicode related interfaces are compiled in 358 */ 359 #if 0 360 #define LIBXML_UNICODE_ENABLED 361 #endif 362 363 /** 364 * LIBXML_REGEXP_ENABLED: 365 * 366 * Whether the regular expressions interfaces are compiled in 367 */ 368 #if 0 369 #define LIBXML_REGEXP_ENABLED 370 #endif 371 372 /** 373 * LIBXML_AUTOMATA_ENABLED: 374 * 375 * Whether the automata interfaces are compiled in 376 */ 377 #if 0 378 #define LIBXML_AUTOMATA_ENABLED 379 #endif 380 381 /** 382 * LIBXML_EXPR_ENABLED: 383 * 384 * Whether the formal expressions interfaces are compiled in 385 */ 386 #if 0 387 #define LIBXML_EXPR_ENABLED 388 #endif 389 390 /** 391 * LIBXML_SCHEMAS_ENABLED: 392 * 393 * Whether the Schemas validation interfaces are compiled in 394 */ 395 #if 0 396 #define LIBXML_SCHEMAS_ENABLED 397 #endif 398 399 /** 400 * LIBXML_SCHEMATRON_ENABLED: 401 * 402 * Whether the Schematron validation interfaces are compiled in 403 */ 404 #if 0 405 #define LIBXML_SCHEMATRON_ENABLED 406 #endif 407 408 /** 409 * LIBXML_MODULES_ENABLED: 410 * 411 * Whether the module interfaces are compiled in 412 */ 413 #if 0 414 #define LIBXML_MODULES_ENABLED 415 /** 416 * LIBXML_MODULE_EXTENSION: 417 * 418 * the string suffix used by dynamic modules (usually shared libraries) 419 */ 420 #define LIBXML_MODULE_EXTENSION ".so" 421 #endif 422 423 /** 424 * LIBXML_ZLIB_ENABLED: 425 * 426 * Whether the Zlib support is compiled in 427 */ 428 #if 0 429 #define LIBXML_ZLIB_ENABLED 430 #endif 431 432 /** 433 * LIBXML_LZMA_ENABLED: 434 * 435 * Whether the Lzma support is compiled in 436 */ 437 #if 0 438 #define LIBXML_LZMA_ENABLED 439 #endif 440 441 #ifdef __GNUC__ 442 443 /** 444 * ATTRIBUTE_UNUSED: 445 * 446 * Macro used to signal to GCC unused function parameters 447 */ 448 449 #ifndef ATTRIBUTE_UNUSED 450 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) 451 # define ATTRIBUTE_UNUSED __attribute__((unused)) 452 # else 453 # define ATTRIBUTE_UNUSED 454 # endif 455 #endif 456 457 /** 458 * LIBXML_ATTR_ALLOC_SIZE: 459 * 460 * Macro used to indicate to GCC this is an allocator function 461 */ 462 463 #ifndef LIBXML_ATTR_ALLOC_SIZE 464 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) 465 # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) 466 # else 467 # define LIBXML_ATTR_ALLOC_SIZE(x) 468 # endif 469 #else 470 # define LIBXML_ATTR_ALLOC_SIZE(x) 471 #endif 472 473 /** 474 * LIBXML_ATTR_FORMAT: 475 * 476 * Macro used to indicate to GCC the parameter are printf like 477 */ 478 479 #ifndef LIBXML_ATTR_FORMAT 480 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) 481 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) 482 # else 483 # define LIBXML_ATTR_FORMAT(fmt,args) 484 # endif 485 #else 486 # define LIBXML_ATTR_FORMAT(fmt,args) 487 #endif 488 489 #else /* ! __GNUC__ */ 490 /** 491 * ATTRIBUTE_UNUSED: 492 * 493 * Macro used to signal to GCC unused function parameters 494 */ 495 #define ATTRIBUTE_UNUSED 496 /** 497 * LIBXML_ATTR_ALLOC_SIZE: 498 * 499 * Macro used to indicate to GCC this is an allocator function 500 */ 501 #define LIBXML_ATTR_ALLOC_SIZE(x) 502 /** 503 * LIBXML_ATTR_FORMAT: 504 * 505 * Macro used to indicate to GCC the parameter are printf like 506 */ 507 #define LIBXML_ATTR_FORMAT(fmt,args) 508 #endif /* __GNUC__ */ 509 510 #ifdef __cplusplus 511 } 512 #endif /* __cplusplus */ 513 #endif 514 515 516