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.8"
33
34/**
35 * LIBXML_VERSION:
36 *
37 * the version number: 1.2.3 value is 10203
38 */
39#define LIBXML_VERSION 20908
40
41/**
42 * LIBXML_VERSION_STRING:
43 *
44 * the version number string, 1.2.3 value is "10203"
45 */
46#define LIBXML_VERSION_STRING "20908"
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-1-g6fc04d71"
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(20908);
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#define LIBXML_THREAD_ENABLED 1
94
95/**
96 * LIBXML_THREAD_ALLOC_ENABLED:
97 *
98 * Whether the allocation hooks are per-thread
99 */
100#if 0
101#define LIBXML_THREAD_ALLOC_ENABLED
102#endif
103
104/**
105 * LIBXML_TREE_ENABLED:
106 *
107 * Whether the DOM like tree manipulation API support is configured in
108 */
109#if 1
110#define LIBXML_TREE_ENABLED
111#endif
112
113/**
114 * LIBXML_OUTPUT_ENABLED:
115 *
116 * Whether the serialization/saving support is configured in
117 */
118#if 1
119#define LIBXML_OUTPUT_ENABLED
120#endif
121
122/**
123 * LIBXML_PUSH_ENABLED:
124 *
125 * Whether the push parsing interfaces are configured in
126 */
127#if 1
128#define LIBXML_PUSH_ENABLED
129#endif
130
131/**
132 * LIBXML_READER_ENABLED:
133 *
134 * Whether the xmlReader parsing interface is configured in
135 */
136#if 1
137#define LIBXML_READER_ENABLED
138#endif
139
140/**
141 * LIBXML_PATTERN_ENABLED:
142 *
143 * Whether the xmlPattern node selection interface is configured in
144 */
145#if 1
146#define LIBXML_PATTERN_ENABLED
147#endif
148
149/**
150 * LIBXML_WRITER_ENABLED:
151 *
152 * Whether the xmlWriter saving interface is configured in
153 */
154#if 1
155#define LIBXML_WRITER_ENABLED
156#endif
157
158/**
159 * LIBXML_SAX1_ENABLED:
160 *
161 * Whether the older SAX1 interface is configured in
162 */
163#if 1
164#define LIBXML_SAX1_ENABLED
165#endif
166
167/**
168 * LIBXML_FTP_ENABLED:
169 *
170 * Whether the FTP support is configured in
171 */
172#if 1
173#define LIBXML_FTP_ENABLED
174#endif
175
176/**
177 * LIBXML_HTTP_ENABLED:
178 *
179 * Whether the HTTP support is configured in
180 */
181#if 1
182#define LIBXML_HTTP_ENABLED
183#endif
184
185/**
186 * LIBXML_VALID_ENABLED:
187 *
188 * Whether the DTD validation support is configured in
189 */
190#if 1
191#define LIBXML_VALID_ENABLED
192#endif
193
194/**
195 * LIBXML_HTML_ENABLED:
196 *
197 * Whether the HTML support is configured in
198 */
199#if 1
200#define LIBXML_HTML_ENABLED
201#endif
202
203/**
204 * LIBXML_LEGACY_ENABLED:
205 *
206 * Whether the deprecated APIs are compiled in for compatibility
207 */
208#if 1
209#define LIBXML_LEGACY_ENABLED
210#endif
211
212/**
213 * LIBXML_C14N_ENABLED:
214 *
215 * Whether the Canonicalization support is configured in
216 */
217#if 1
218#define LIBXML_C14N_ENABLED
219#endif
220
221/**
222 * LIBXML_CATALOG_ENABLED:
223 *
224 * Whether the Catalog support is configured in
225 */
226#if 1
227#define LIBXML_CATALOG_ENABLED
228#endif
229
230/**
231 * LIBXML_DOCB_ENABLED:
232 *
233 * Whether the SGML Docbook support is configured in
234 */
235#if 1
236#define LIBXML_DOCB_ENABLED
237#endif
238
239/**
240 * LIBXML_XPATH_ENABLED:
241 *
242 * Whether XPath is configured in
243 */
244#if 1
245#define LIBXML_XPATH_ENABLED
246#endif
247
248/**
249 * LIBXML_XPTR_ENABLED:
250 *
251 * Whether XPointer is configured in
252 */
253#if 1
254#define LIBXML_XPTR_ENABLED
255#endif
256
257/**
258 * LIBXML_XINCLUDE_ENABLED:
259 *
260 * Whether XInclude is configured in
261 */
262#if 1
263#define LIBXML_XINCLUDE_ENABLED
264#endif
265
266/**
267 * LIBXML_ICONV_ENABLED:
268 *
269 * Whether iconv support is available
270 */
271#if 1
272#define LIBXML_ICONV_ENABLED
273#endif
274
275/**
276 * LIBXML_ICU_ENABLED:
277 *
278 * Whether icu support is available
279 */
280#if 0
281#define LIBXML_ICU_ENABLED
282#endif
283
284/**
285 * LIBXML_ISO8859X_ENABLED:
286 *
287 * Whether ISO-8859-* support is made available in case iconv is not
288 */
289#if 1
290#define LIBXML_ISO8859X_ENABLED
291#endif
292
293/**
294 * LIBXML_DEBUG_ENABLED:
295 *
296 * Whether Debugging module is configured in
297 */
298#if 1
299#define LIBXML_DEBUG_ENABLED
300#endif
301
302/**
303 * DEBUG_MEMORY_LOCATION:
304 *
305 * Whether the memory debugging is configured in
306 */
307#if 0
308#define DEBUG_MEMORY_LOCATION
309#endif
310
311/**
312 * LIBXML_DEBUG_RUNTIME:
313 *
314 * Whether the runtime debugging is configured in
315 */
316#if 0
317#define LIBXML_DEBUG_RUNTIME
318#endif
319
320/**
321 * LIBXML_UNICODE_ENABLED:
322 *
323 * Whether the Unicode related interfaces are compiled in
324 */
325#if 1
326#define LIBXML_UNICODE_ENABLED
327#endif
328
329/**
330 * LIBXML_REGEXP_ENABLED:
331 *
332 * Whether the regular expressions interfaces are compiled in
333 */
334#if 1
335#define LIBXML_REGEXP_ENABLED
336#endif
337
338/**
339 * LIBXML_AUTOMATA_ENABLED:
340 *
341 * Whether the automata interfaces are compiled in
342 */
343#if 1
344#define LIBXML_AUTOMATA_ENABLED
345#endif
346
347/**
348 * LIBXML_EXPR_ENABLED:
349 *
350 * Whether the formal expressions interfaces are compiled in
351 */
352#if 1
353#define LIBXML_EXPR_ENABLED
354#endif
355
356/**
357 * LIBXML_SCHEMAS_ENABLED:
358 *
359 * Whether the Schemas validation interfaces are compiled in
360 */
361#if 1
362#define LIBXML_SCHEMAS_ENABLED
363#endif
364
365/**
366 * LIBXML_SCHEMATRON_ENABLED:
367 *
368 * Whether the Schematron validation interfaces are compiled in
369 */
370#if 1
371#define LIBXML_SCHEMATRON_ENABLED
372#endif
373
374/**
375 * LIBXML_MODULES_ENABLED:
376 *
377 * Whether the module interfaces are compiled in
378 */
379#if 1
380#define LIBXML_MODULES_ENABLED
381/**
382 * LIBXML_MODULE_EXTENSION:
383 *
384 * the string suffix used by dynamic modules (usually shared libraries)
385 */
386#define LIBXML_MODULE_EXTENSION ".so"
387#endif
388
389/**
390 * LIBXML_ZLIB_ENABLED:
391 *
392 * Whether the Zlib support is compiled in
393 */
394#if 1
395#define LIBXML_ZLIB_ENABLED
396#endif
397
398/**
399 * LIBXML_LZMA_ENABLED:
400 *
401 * Whether the Lzma support is compiled in
402 */
403#if 0
404#define LIBXML_LZMA_ENABLED
405#endif
406
407#ifdef __GNUC__
408
409/**
410 * ATTRIBUTE_UNUSED:
411 *
412 * Macro used to signal to GCC unused function parameters
413 */
414
415#ifndef ATTRIBUTE_UNUSED
416# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
417# define ATTRIBUTE_UNUSED __attribute__((unused))
418# else
419# define ATTRIBUTE_UNUSED
420# endif
421#endif
422
423/**
424 * LIBXML_ATTR_ALLOC_SIZE:
425 *
426 * Macro used to indicate to GCC this is an allocator function
427 */
428
429#ifndef LIBXML_ATTR_ALLOC_SIZE
430# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
431# define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
432# else
433# define LIBXML_ATTR_ALLOC_SIZE(x)
434# endif
435#else
436# define LIBXML_ATTR_ALLOC_SIZE(x)
437#endif
438
439/**
440 * LIBXML_ATTR_FORMAT:
441 *
442 * Macro used to indicate to GCC the parameter are printf like
443 */
444
445#ifndef LIBXML_ATTR_FORMAT
446# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
447# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
448# else
449# define LIBXML_ATTR_FORMAT(fmt,args)
450# endif
451#else
452# define LIBXML_ATTR_FORMAT(fmt,args)
453#endif
454
455#else /* ! __GNUC__ */
456/**
457 * ATTRIBUTE_UNUSED:
458 *
459 * Macro used to signal to GCC unused function parameters
460 */
461#define ATTRIBUTE_UNUSED
462/**
463 * LIBXML_ATTR_ALLOC_SIZE:
464 *
465 * Macro used to indicate to GCC this is an allocator function
466 */
467#define LIBXML_ATTR_ALLOC_SIZE(x)
468/**
469 * LIBXML_ATTR_FORMAT:
470 *
471 * Macro used to indicate to GCC the parameter are printf like
472 */
473#define LIBXML_ATTR_FORMAT(fmt,args)
474#endif /* __GNUC__ */
475
476#ifdef __cplusplus
477}
478#endif /* __cplusplus */
479#endif
480
481
482