• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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