[LIBXML2]
[reactos.git] / reactos / include / reactos / libs / libxml / xmlversion.h.in
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 "@VERSION@"
33
34 /**
35 * LIBXML_VERSION:
36 *
37 * the version number: 1.2.3 value is 10203
38 */
39 #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
40
41 /**
42 * LIBXML_VERSION_STRING:
43 *
44 * the version number string, 1.2.3 value is "10203"
45 */
46 #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
47
48 /**
49 * LIBXML_VERSION_EXTRA:
50 *
51 * extra version information, used to show a CVS compilation
52 */
53 #define LIBXML_VERSION_EXTRA "@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(@LIBXML_VERSION_NUMBER@);
62
63 #ifndef VMS
64 #if @WITH_TRIO@
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 @WITH_THREADS@
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 @WITH_TREE@
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 @WITH_OUTPUT@
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 @WITH_PUSH@
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 @WITH_READER@
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 @WITH_PATTERN@
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 @WITH_WRITER@
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 @WITH_SAX1@
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 @WITH_FTP@
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 @WITH_HTTP@
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 @WITH_VALID@
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 @WITH_HTML@
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 @WITH_LEGACY@
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 @WITH_C14N@
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 @WITH_CATALOG@
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 @WITH_DOCB@
232 #define LIBXML_DOCB_ENABLED
233 #endif
234
235 /**
236 * LIBXML_XPATH_ENABLED:
237 *
238 * Whether XPath is configured in
239 */
240 #if @WITH_XPATH@
241 #define LIBXML_XPATH_ENABLED
242 #endif
243
244 /**
245 * LIBXML_XPTR_ENABLED:
246 *
247 * Whether XPointer is configured in
248 */
249 #if @WITH_XPTR@
250 #define LIBXML_XPTR_ENABLED
251 #endif
252
253 /**
254 * LIBXML_XINCLUDE_ENABLED:
255 *
256 * Whether XInclude is configured in
257 */
258 #if @WITH_XINCLUDE@
259 #define LIBXML_XINCLUDE_ENABLED
260 #endif
261
262 /**
263 * LIBXML_ICONV_ENABLED:
264 *
265 * Whether iconv support is available
266 */
267 #if @WITH_ICONV@
268 #define LIBXML_ICONV_ENABLED
269 #endif
270
271 /**
272 * LIBXML_ICU_ENABLED:
273 *
274 * Whether icu support is available
275 */
276 #if @WITH_ICU@
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 @WITH_ISO8859X@
286 #define LIBXML_ISO8859X_ENABLED
287 #endif
288
289 /**
290 * LIBXML_DEBUG_ENABLED:
291 *
292 * Whether Debugging module is configured in
293 */
294 #if @WITH_DEBUG@
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 @WITH_MEM_DEBUG@
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 @WITH_RUN_DEBUG@
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 @WITH_REGEXPS@
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 @WITH_REGEXPS@
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 @WITH_REGEXPS@
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 @WITH_SCHEMAS@
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 @WITH_SCHEMAS@
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 @WITH_SCHEMATRON@
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 @WITH_MODULES@
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 "@MODULE_EXTENSION@"
383 #endif
384
385 /**
386 * LIBXML_ZLIB_ENABLED:
387 *
388 * Whether the Zlib support is compiled in
389 */
390 #if @WITH_ZLIB@
391 #define LIBXML_ZLIB_ENABLED
392 #endif
393
394 #ifdef __GNUC__
395 #ifdef HAVE_ANSIDECL_H
396 #include <ansidecl.h>
397 #endif
398
399 /**
400 * ATTRIBUTE_UNUSED:
401 *
402 * Macro used to signal to GCC unused function parameters
403 */
404
405 #ifndef ATTRIBUTE_UNUSED
406 #define ATTRIBUTE_UNUSED __attribute__((unused))
407 #endif
408
409 /**
410 * LIBXML_ATTR_ALLOC_SIZE:
411 *
412 * Macro used to indicate to GCC this is an allocator function
413 */
414
415 #ifndef LIBXML_ATTR_ALLOC_SIZE
416 # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
417 # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
418 # else
419 # define LIBXML_ATTR_ALLOC_SIZE(x)
420 # endif
421 #else
422 # define LIBXML_ATTR_ALLOC_SIZE(x)
423 #endif
424
425 /**
426 * LIBXML_ATTR_FORMAT:
427 *
428 * Macro used to indicate to GCC the parameter are printf like
429 */
430
431 #ifndef LIBXML_ATTR_FORMAT
432 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
433 # define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
434 # else
435 # define LIBXML_ATTR_FORMAT(fmt,args)
436 # endif
437 #else
438 # define LIBXML_ATTR_FORMAT(fmt,args)
439 #endif
440
441 #else /* ! __GNUC__ */
442 /**
443 * ATTRIBUTE_UNUSED:
444 *
445 * Macro used to signal to GCC unused function parameters
446 */
447 #define ATTRIBUTE_UNUSED
448 /**
449 * LIBXML_ATTR_ALLOC_SIZE:
450 *
451 * Macro used to indicate to GCC this is an allocator function
452 */
453 #define LIBXML_ATTR_ALLOC_SIZE(x)
454 /**
455 * LIBXML_ATTR_FORMAT:
456 *
457 * Macro used to indicate to GCC the parameter are printf like
458 */
459 #define LIBXML_ATTR_FORMAT(fmt,args)
460 #endif /* __GNUC__ */
461
462 #ifdef __cplusplus
463 }
464 #endif /* __cplusplus */
465 #endif
466
467