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