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