• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #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 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.11.0"
33 
34 /**
35  * LIBXML_VERSION:
36  *
37  * the version number: 1.2.3 value is 10203
38  */
39 #define LIBXML_VERSION 21100
40 
41 /**
42  * LIBXML_VERSION_STRING:
43  *
44  * the version number string, 1.2.3 value is "10203"
45  */
46 #define LIBXML_VERSION_STRING "21100"
47 
48 /**
49  * LIBXML_VERSION_EXTRA:
50  *
51  * extra version information, used to show a git commit description
52  */
53 #define LIBXML_VERSION_EXTRA ""
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(21100);
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 #define LIBXML_THREAD_ENABLED
95 #endif
96 
97 /**
98  * LIBXML_THREAD_ALLOC_ENABLED:
99  *
100  * Whether the allocation hooks are per-thread
101  */
102 #if 0
103 #define LIBXML_THREAD_ALLOC_ENABLED
104 #endif
105 
106 /**
107  * LIBXML_TREE_ENABLED:
108  *
109  * Whether the DOM like tree manipulation API support is configured in
110  */
111 #if 1
112 #define LIBXML_TREE_ENABLED
113 #endif
114 
115 /**
116  * LIBXML_OUTPUT_ENABLED:
117  *
118  * Whether the serialization/saving support is configured in
119  */
120 #if 1
121 #define LIBXML_OUTPUT_ENABLED
122 #endif
123 
124 /**
125  * LIBXML_PUSH_ENABLED:
126  *
127  * Whether the push parsing interfaces are configured in
128  */
129 #if 1
130 #define LIBXML_PUSH_ENABLED
131 #endif
132 
133 /**
134  * LIBXML_READER_ENABLED:
135  *
136  * Whether the xmlReader parsing interface is configured in
137  */
138 #if 1
139 #define LIBXML_READER_ENABLED
140 #endif
141 
142 /**
143  * LIBXML_PATTERN_ENABLED:
144  *
145  * Whether the xmlPattern node selection interface is configured in
146  */
147 #if 0
148 #define LIBXML_PATTERN_ENABLED
149 #endif
150 
151 /**
152  * LIBXML_WRITER_ENABLED:
153  *
154  * Whether the xmlWriter saving interface is configured in
155  */
156 #if 1
157 #define LIBXML_WRITER_ENABLED
158 #endif
159 
160 /**
161  * LIBXML_SAX1_ENABLED:
162  *
163  * Whether the older SAX1 interface is configured in
164  */
165 #if 1
166 #define LIBXML_SAX1_ENABLED
167 #endif
168 
169 /**
170  * LIBXML_FTP_ENABLED:
171  *
172  * Whether the FTP support is configured in
173  */
174 #if 0
175 #define LIBXML_FTP_ENABLED
176 #endif
177 
178 /**
179  * LIBXML_HTTP_ENABLED:
180  *
181  * Whether the HTTP support is configured in
182  */
183 #if 0
184 #define LIBXML_HTTP_ENABLED
185 #endif
186 
187 /**
188  * LIBXML_VALID_ENABLED:
189  *
190  * Whether the DTD validation support is configured in
191  */
192 #if 0
193 #define LIBXML_VALID_ENABLED
194 #endif
195 
196 /**
197  * LIBXML_HTML_ENABLED:
198  *
199  * Whether the HTML support is configured in
200  */
201 #if 1
202 #define LIBXML_HTML_ENABLED
203 #endif
204 
205 /**
206  * LIBXML_LEGACY_ENABLED:
207  *
208  * Whether the deprecated APIs are compiled in for compatibility
209  */
210 #if 0
211 #define LIBXML_LEGACY_ENABLED
212 #endif
213 
214 /**
215  * LIBXML_C14N_ENABLED:
216  *
217  * Whether the Canonicalization support is configured in
218  */
219 #if 0
220 #define LIBXML_C14N_ENABLED
221 #endif
222 
223 /**
224  * LIBXML_CATALOG_ENABLED:
225  *
226  * Whether the Catalog support is configured in
227  */
228 #if 0
229 #define LIBXML_CATALOG_ENABLED
230 #endif
231 
232 /**
233  * LIBXML_XPATH_ENABLED:
234  *
235  * Whether XPath is configured in
236  */
237 #if 1
238 #define LIBXML_XPATH_ENABLED
239 #endif
240 
241 /**
242  * LIBXML_XPTR_ENABLED:
243  *
244  * Whether XPointer is configured in
245  */
246 #if 0
247 #define LIBXML_XPTR_ENABLED
248 #endif
249 
250 /**
251  * LIBXML_XPTR_LOCS_ENABLED:
252  *
253  * Whether support for XPointer locations is configured in
254  */
255 #if 0
256 #define LIBXML_XPTR_LOCS_ENABLED
257 #endif
258 
259 /**
260  * LIBXML_XINCLUDE_ENABLED:
261  *
262  * Whether XInclude is configured in
263  */
264 #if 0
265 #define LIBXML_XINCLUDE_ENABLED
266 #endif
267 
268 /**
269  * LIBXML_ICONV_ENABLED:
270  *
271  * Whether iconv support is available
272  */
273 #if 0
274 #define LIBXML_ICONV_ENABLED
275 #endif
276 
277 /**
278  * LIBXML_ICU_ENABLED:
279  *
280  * Whether icu support is available
281  */
282 #if 1
283 #define LIBXML_ICU_ENABLED
284 #endif
285 
286 /**
287  * LIBXML_ISO8859X_ENABLED:
288  *
289  * Whether ISO-8859-* support is made available in case iconv is not
290  */
291 #if 0
292 #define LIBXML_ISO8859X_ENABLED
293 #endif
294 
295 /**
296  * LIBXML_DEBUG_ENABLED:
297  *
298  * Whether Debugging module is configured in
299  */
300 #if 0
301 #define LIBXML_DEBUG_ENABLED
302 #endif
303 
304 /**
305  * DEBUG_MEMORY_LOCATION:
306  *
307  * Whether the memory debugging is configured in
308  */
309 #if 0
310 #define DEBUG_MEMORY_LOCATION
311 #endif
312 
313 /**
314  * LIBXML_DEBUG_RUNTIME:
315  *
316  * Removed
317  */
318 #if 0
319 #define LIBXML_DEBUG_RUNTIME
320 #endif
321 
322 /**
323  * LIBXML_UNICODE_ENABLED:
324  *
325  * Whether the Unicode related interfaces are compiled in
326  */
327 #if 0
328 #define LIBXML_UNICODE_ENABLED
329 #endif
330 
331 /**
332  * LIBXML_REGEXP_ENABLED:
333  *
334  * Whether the regular expressions interfaces are compiled in
335  */
336 #if 0
337 #define LIBXML_REGEXP_ENABLED
338 #endif
339 
340 /**
341  * LIBXML_AUTOMATA_ENABLED:
342  *
343  * Whether the automata interfaces are compiled in
344  */
345 #if 0
346 #define LIBXML_AUTOMATA_ENABLED
347 #endif
348 
349 /**
350  * LIBXML_EXPR_ENABLED:
351  *
352  * Whether the formal expressions interfaces are compiled in
353  *
354  * This code is unused and disabled unconditionally for now.
355  */
356 #if 0
357 #define LIBXML_EXPR_ENABLED
358 #endif
359 
360 /**
361  * LIBXML_SCHEMAS_ENABLED:
362  *
363  * Whether the Schemas validation interfaces are compiled in
364  */
365 #if 0
366 #define LIBXML_SCHEMAS_ENABLED
367 #endif
368 
369 /**
370  * LIBXML_SCHEMATRON_ENABLED:
371  *
372  * Whether the Schematron validation interfaces are compiled in
373  */
374 #if 0
375 #define LIBXML_SCHEMATRON_ENABLED
376 #endif
377 
378 /**
379  * LIBXML_MODULES_ENABLED:
380  *
381  * Whether the module interfaces are compiled in
382  */
383 #if 0
384 #define LIBXML_MODULES_ENABLED
385 /**
386  * LIBXML_MODULE_EXTENSION:
387  *
388  * the string suffix used by dynamic modules (usually shared libraries)
389  */
390 #define LIBXML_MODULE_EXTENSION ".dll"
391 #endif
392 
393 /**
394  * LIBXML_ZLIB_ENABLED:
395  *
396  * Whether the Zlib support is compiled in
397  */
398 #if 0
399 #define LIBXML_ZLIB_ENABLED
400 #endif
401 
402 /**
403  * LIBXML_LZMA_ENABLED:
404  *
405  * Whether the Lzma support is compiled in
406  */
407 #if 0
408 #define LIBXML_LZMA_ENABLED
409 #endif
410 
411 #ifdef __GNUC__
412 /** DOC_DISABLE */
413 
414 #ifndef ATTRIBUTE_UNUSED
415 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
416 #  define ATTRIBUTE_UNUSED __attribute__((unused))
417 # else
418 #  define ATTRIBUTE_UNUSED
419 # endif
420 #endif
421 
422 #ifndef LIBXML_ATTR_ALLOC_SIZE
423 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
424 #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
425 # else
426 #  define LIBXML_ATTR_ALLOC_SIZE(x)
427 # endif
428 #else
429 # define LIBXML_ATTR_ALLOC_SIZE(x)
430 #endif
431 
432 #ifndef LIBXML_ATTR_FORMAT
433 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
434 #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
435 # else
436 #  define LIBXML_ATTR_FORMAT(fmt,args)
437 # endif
438 #else
439 # define LIBXML_ATTR_FORMAT(fmt,args)
440 #endif
441 
442 #ifndef XML_DEPRECATED
443 #  if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301)
444 #    define XML_DEPRECATED
445 /* Available since at least GCC 3.1 */
446 #  else
447 #    define XML_DEPRECATED __attribute__((deprecated))
448 #  endif
449 #endif
450 
451 #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)
452 #define XML_IGNORE_FPTR_CAST_WARNINGS \
453     _Pragma("GCC diagnostic push") \
454     _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
455     _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"")
456 #define XML_POP_WARNINGS \
457     _Pragma("GCC diagnostic pop")
458 #else
459 #define XML_IGNORE_FPTR_CAST_WARNINGS
460 #define XML_POP_WARNINGS
461 #endif
462 
463 /** DOC_ENABLE */
464 #else /* ! __GNUC__ */
465 /**
466  * ATTRIBUTE_UNUSED:
467  *
468  * Macro used to signal to GCC unused function parameters
469  */
470 #define ATTRIBUTE_UNUSED
471 /**
472  * LIBXML_ATTR_ALLOC_SIZE:
473  *
474  * Macro used to indicate to GCC this is an allocator function
475  */
476 #define LIBXML_ATTR_ALLOC_SIZE(x)
477 /**
478  * LIBXML_ATTR_FORMAT:
479  *
480  * Macro used to indicate to GCC the parameter are printf like
481  */
482 #define LIBXML_ATTR_FORMAT(fmt,args)
483 /**
484  * XML_DEPRECATED:
485  *
486  * Macro used to indicate that a function, variable, type or struct member
487  * is deprecated.
488  */
489 #ifndef XML_DEPRECATED
490 #  if defined (IN_LIBXML) || !defined (_MSC_VER)
491 #    define XML_DEPRECATED
492 /* Available since Visual Studio 2005 */
493 #  elif defined (_MSC_VER) && (_MSC_VER >= 1400)
494 #    define XML_DEPRECATED __declspec(deprecated)
495 #  endif
496 #endif
497 /**
498  * LIBXML_IGNORE_FPTR_CAST_WARNINGS:
499  *
500  * Macro used to ignore pointer cast warnings that can't be worked around.
501  */
502 #if defined (_MSC_VER) && (_MSC_VER >= 1400)
503 #  define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push))
504 #else
505 #  define XML_IGNORE_FPTR_CAST_WARNINGS
506 #endif
507 /**
508  * XML_POP_WARNINGS:
509  *
510  * Macro used to restore warnings state.
511  */
512 #ifndef XML_POP_WARNINGS
513 #  if defined (_MSC_VER) && (_MSC_VER >= 1400)
514 #    define XML_POP_WARNINGS __pragma(warning(pop))
515 #  else
516 #    define XML_POP_WARNINGS
517 #  endif
518 #endif
519 #endif /* __GNUC__ */
520 
521 #ifdef __cplusplus
522 }
523 #endif /* __cplusplus */
524 #endif
525 
526 
527