• 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 #if 1
291 #define LIBXML_ICU_ENABLED
292 #endif
293 
294 /**
295  * LIBXML_ISO8859X_ENABLED:
296  *
297  * Whether ISO-8859-* support is made available in case iconv is not
298  */
299 #if 1
300 #define LIBXML_ISO8859X_ENABLED
301 #endif
302 
303 /**
304  * LIBXML_DEBUG_ENABLED:
305  *
306  * Whether Debugging module is configured in
307  */
308 #if 1
309 #define LIBXML_DEBUG_ENABLED
310 #endif
311 
312 /**
313  * DEBUG_MEMORY_LOCATION:
314  *
315  * Whether the memory debugging is configured in
316  */
317 #if 0
318 #define DEBUG_MEMORY_LOCATION
319 #endif
320 
321 /**
322  * LIBXML_DEBUG_RUNTIME:
323  *
324  * Whether the runtime debugging is configured in
325  */
326 #if 0
327 #define LIBXML_DEBUG_RUNTIME
328 #endif
329 
330 /**
331  * LIBXML_UNICODE_ENABLED:
332  *
333  * Whether the Unicode related interfaces are compiled in
334  */
335 #if 1
336 #define LIBXML_UNICODE_ENABLED
337 #endif
338 
339 /**
340  * LIBXML_REGEXP_ENABLED:
341  *
342  * Whether the regular expressions interfaces are compiled in
343  */
344 #if 1
345 #define LIBXML_REGEXP_ENABLED
346 #endif
347 
348 /**
349  * LIBXML_AUTOMATA_ENABLED:
350  *
351  * Whether the automata interfaces are compiled in
352  */
353 #if 1
354 #define LIBXML_AUTOMATA_ENABLED
355 #endif
356 
357 /**
358  * LIBXML_EXPR_ENABLED:
359  *
360  * Whether the formal expressions interfaces are compiled in
361  */
362 #if 1
363 #define LIBXML_EXPR_ENABLED
364 #endif
365 
366 /**
367  * LIBXML_SCHEMAS_ENABLED:
368  *
369  * Whether the Schemas validation interfaces are compiled in
370  */
371 #if 1
372 #define LIBXML_SCHEMAS_ENABLED
373 #endif
374 
375 /**
376  * LIBXML_SCHEMATRON_ENABLED:
377  *
378  * Whether the Schematron validation interfaces are compiled in
379  */
380 #if 1
381 #define LIBXML_SCHEMATRON_ENABLED
382 #endif
383 
384 /**
385  * LIBXML_MODULES_ENABLED:
386  *
387  * Whether the module interfaces are compiled in
388  */
389 #if 1
390 #define LIBXML_MODULES_ENABLED
391 /**
392  * LIBXML_MODULE_EXTENSION:
393  *
394  * the string suffix used by dynamic modules (usually shared libraries)
395  */
396 #define LIBXML_MODULE_EXTENSION ".so"
397 #endif
398 
399 /**
400  * LIBXML_ZLIB_ENABLED:
401  *
402  * Whether the Zlib support is compiled in
403  */
404 #if 0
405 #define LIBXML_ZLIB_ENABLED
406 #endif
407 
408 /**
409  * LIBXML_LZMA_ENABLED:
410  *
411  * Whether the Lzma support is compiled in
412  */
413 #if 0
414 #define LIBXML_LZMA_ENABLED
415 #endif
416 
417 #ifdef __GNUC__
418 #ifdef HAVE_ANSIDECL_H
419 #include <ansidecl.h>
420 #endif
421 
422 /**
423  * ATTRIBUTE_UNUSED:
424  *
425  * Macro used to signal to GCC unused function parameters
426  */
427 
428 #ifndef ATTRIBUTE_UNUSED
429 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
430 #  define ATTRIBUTE_UNUSED __attribute__((unused))
431 # else
432 #  define ATTRIBUTE_UNUSED
433 # endif
434 #endif
435 
436 /**
437  * LIBXML_ATTR_ALLOC_SIZE:
438  *
439  * Macro used to indicate to GCC this is an allocator function
440  */
441 
442 #ifndef LIBXML_ATTR_ALLOC_SIZE
443 # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
444 #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
445 # else
446 #  define LIBXML_ATTR_ALLOC_SIZE(x)
447 # endif
448 #else
449 # define LIBXML_ATTR_ALLOC_SIZE(x)
450 #endif
451 
452 /**
453  * LIBXML_ATTR_FORMAT:
454  *
455  * Macro used to indicate to GCC the parameter are printf like
456  */
457 
458 #ifndef LIBXML_ATTR_FORMAT
459 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
460 #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
461 # else
462 #  define LIBXML_ATTR_FORMAT(fmt,args)
463 # endif
464 #else
465 # define LIBXML_ATTR_FORMAT(fmt,args)
466 #endif
467 
468 #else /* ! __GNUC__ */
469 /**
470  * ATTRIBUTE_UNUSED:
471  *
472  * Macro used to signal to GCC unused function parameters
473  */
474 #define ATTRIBUTE_UNUSED
475 /**
476  * LIBXML_ATTR_ALLOC_SIZE:
477  *
478  * Macro used to indicate to GCC this is an allocator function
479  */
480 #define LIBXML_ATTR_ALLOC_SIZE(x)
481 /**
482  * LIBXML_ATTR_FORMAT:
483  *
484  * Macro used to indicate to GCC the parameter are printf like
485  */
486 #define LIBXML_ATTR_FORMAT(fmt,args)
487 #endif /* __GNUC__ */
488 
489 #ifdef __cplusplus
490 }
491 #endif /* __cplusplus */
492 #endif
493 
494 
495