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
16extern "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
24XMLPUBFUN 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