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