• 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 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.13"
33 
34 /**
35  * LIBXML_VERSION:
36  *
37  * the version number: 1.2.3 value is 10203
38  */
39 #define LIBXML_VERSION 20913
40 
41 /**
42  * LIBXML_VERSION_STRING:
43  *
44  * the version number string, 1.2.3 value is "10203"
45  */
46 #define LIBXML_VERSION_STRING "20913"
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(20913);
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 0
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 1
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 1
175 #undef LIBXML_FTP_ENABLED
176 #endif
177 
178 /**
179  * LIBXML_HTTP_ENABLED:
180  *
181  * Whether the HTTP support is configured in
182  */
183 #if 1
184 #undef LIBXML_HTTP_ENABLED
185 #endif
186 
187 /**
188  * LIBXML_VALID_ENABLED:
189  *
190  * Whether the DTD validation support is configured in
191  */
192 #if 1
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 #undef 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 1
211 #undef LIBXML_LEGACY_ENABLED
212 #endif
213 
214 /**
215  * LIBXML_C14N_ENABLED:
216  *
217  * Whether the Canonicalization support is configured in
218  */
219 #if 1
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 1
229 #define LIBXML_CATALOG_ENABLED
230 #endif
231 
232 /**
233  * LIBXML_DOCB_ENABLED:
234  *
235  * Whether the SGML Docbook support is configured in
236  */
237 #if 0
238 #define LIBXML_DOCB_ENABLED
239 #endif
240 
241 /**
242  * LIBXML_XPATH_ENABLED:
243  *
244  * Whether XPath is configured in
245  */
246 #if 1
247 #define LIBXML_XPATH_ENABLED
248 #endif
249 
250 /**
251  * LIBXML_XPTR_ENABLED:
252  *
253  * Whether XPointer is configured in
254  */
255 #if 1
256 #define LIBXML_XPTR_ENABLED
257 #endif
258 
259 /**
260  * LIBXML_XINCLUDE_ENABLED:
261  *
262  * Whether XInclude is configured in
263  */
264 #if 1
265 #define LIBXML_XINCLUDE_ENABLED
266 #endif
267 
268 /**
269  * LIBXML_ICONV_ENABLED:
270  *
271  * Whether iconv support is available
272  */
273 #if 1
274 #undef LIBXML_ICONV_ENABLED
275 #endif
276 
277 /**
278  * LIBXML_ICU_ENABLED:
279  *
280  * Whether icu support is available
281  *
282  * This is disabled when libxml2 is
283  * 1. built for the VNDK.
284  * libicuuc.so isn't available in the VNDK.
285  * 2. built as an static library on Android
286  * libicuuc.so isn't available for static linking.
287  */
288 #undef LIBXML_ICU_ENABLED
289 #ifdef __ANDROID_VNDK__
290 #undef LIBXML_ICU_ENABLED
291 #elif defined(__ANDROID__) && defined(STATIC_LIBXML)
292 #undef LIBXML_ICU_ENABLED
293 #else
294 #define LIBXML_ICU_ENABLED
295 #endif
296 
297 /**
298  * LIBXML_ISO8859X_ENABLED:
299  *
300  * Whether ISO-8859-* support is made available in case iconv is not
301  */
302 #if 1
303 #define LIBXML_ISO8859X_ENABLED
304 #endif
305 
306 /**
307  * LIBXML_DEBUG_ENABLED:
308  *
309  * Whether Debugging module is configured in
310  */
311 #if 1
312 #define LIBXML_DEBUG_ENABLED
313 #endif
314 
315 /**
316  * DEBUG_MEMORY_LOCATION:
317  *
318  * Whether the memory debugging is configured in
319  */
320 #if 0
321 #define DEBUG_MEMORY_LOCATION
322 #endif
323 
324 /**
325  * LIBXML_DEBUG_RUNTIME:
326  *
327  * Whether the runtime debugging is configured in
328  */
329 #if 0
330 #define LIBXML_DEBUG_RUNTIME
331 #endif
332 
333 /**
334  * LIBXML_UNICODE_ENABLED:
335  *
336  * Whether the Unicode related interfaces are compiled in
337  */
338 #if 1
339 #define LIBXML_UNICODE_ENABLED
340 #endif
341 
342 /**
343  * LIBXML_REGEXP_ENABLED:
344  *
345  * Whether the regular expressions interfaces are compiled in
346  */
347 #if 1
348 #define LIBXML_REGEXP_ENABLED
349 #endif
350 
351 /**
352  * LIBXML_AUTOMATA_ENABLED:
353  *
354  * Whether the automata interfaces are compiled in
355  */
356 #if 1
357 #define LIBXML_AUTOMATA_ENABLED
358 #endif
359 
360 /**
361  * LIBXML_EXPR_ENABLED:
362  *
363  * Whether the formal expressions interfaces are compiled in
364  *
365  * This code is unused and disabled unconditionally for now.
366  */
367 #if 0
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 1
410 #undef LIBXML_ZLIB_ENABLED
411 #endif
412 
413 /**
414  * LIBXML_LZMA_ENABLED:
415  *
416  * Whether the Lzma support is compiled in
417  */
418 #if 1
419 #undef LIBXML_LZMA_ENABLED
420 #endif
421 
422 #ifdef __GNUC__
423 
424 /**
425  * ATTRIBUTE_UNUSED:
426  *
427  * Macro used to signal to GCC unused function parameters
428  */
429 
430 #ifndef ATTRIBUTE_UNUSED
431 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
432 #  define ATTRIBUTE_UNUSED __attribute__((unused))
433 # else
434 #  define ATTRIBUTE_UNUSED
435 # endif
436 #endif
437 
438 /**
439  * LIBXML_ATTR_ALLOC_SIZE:
440  *
441  * Macro used to indicate to GCC this is an allocator function
442  */
443 
444 #ifndef LIBXML_ATTR_ALLOC_SIZE
445 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
446 #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
447 # else
448 #  define LIBXML_ATTR_ALLOC_SIZE(x)
449 # endif
450 #else
451 # define LIBXML_ATTR_ALLOC_SIZE(x)
452 #endif
453 
454 /**
455  * LIBXML_ATTR_FORMAT:
456  *
457  * Macro used to indicate to GCC the parameter are printf like
458  */
459 
460 #ifndef LIBXML_ATTR_FORMAT
461 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
462 #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
463 # else
464 #  define LIBXML_ATTR_FORMAT(fmt,args)
465 # endif
466 #else
467 # define LIBXML_ATTR_FORMAT(fmt,args)
468 #endif
469 
470 #ifndef XML_DEPRECATED
471 #  ifdef IN_LIBXML
472 #    define XML_DEPRECATED
473 #  else
474 /* Available since at least GCC 3.1 */
475 #    define XML_DEPRECATED __attribute__((deprecated))
476 #  endif
477 #endif
478 
479 #else /* ! __GNUC__ */
480 /**
481  * ATTRIBUTE_UNUSED:
482  *
483  * Macro used to signal to GCC unused function parameters
484  */
485 #define ATTRIBUTE_UNUSED
486 /**
487  * LIBXML_ATTR_ALLOC_SIZE:
488  *
489  * Macro used to indicate to GCC this is an allocator function
490  */
491 #define LIBXML_ATTR_ALLOC_SIZE(x)
492 /**
493  * LIBXML_ATTR_FORMAT:
494  *
495  * Macro used to indicate to GCC the parameter are printf like
496  */
497 #define LIBXML_ATTR_FORMAT(fmt,args)
498 /**
499  * XML_DEPRECATED:
500  *
501  * Macro used to indicate that a function, variable, type or struct member
502  * is deprecated.
503  */
504 #ifndef XML_DEPRECATED
505 #define XML_DEPRECATED
506 #endif
507 #endif /* __GNUC__ */
508 
509 #ifdef __cplusplus
510 }
511 #endif /* __cplusplus */
512 #endif
513 
514 
515