blob: a628741bc9e0ada332bf0bf848664a24039f7521 [file] [log] [blame]
Owen Taylor3473f882001-02-23 17:55:21 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: compile-time version informations
3 * Description: compile-time version informations for the XML library
Owen Taylor3473f882001-02-23 17:55:21 +00004 *
Daniel Veillardbe586972003-11-18 20:56:51 +00005 * Copy: See Copyright for the status of this software.
Owen Taylor3473f882001-02-23 17:55:21 +00006 *
Daniel Veillardbe586972003-11-18 20:56:51 +00007 * Author: Daniel Veillard
Owen Taylor3473f882001-02-23 17:55:21 +00008 */
9
10#ifndef __XML_VERSION_H__
11#define __XML_VERSION_H__
12
Igor Zlatkovicf05e5d12003-08-25 09:15:36 +000013#include <libxml/xmlexports.h>
Igor Zlatkovic76874e42003-08-25 09:05:12 +000014
Owen Taylor3473f882001-02-23 17:55:21 +000015#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 */
Daniel Veillard2d90de42001-04-16 17:46:18 +000023#ifndef LIBXML2_COMPILING_MSCCDEF
Igor Zlatkovic76874e42003-08-25 09:05:12 +000024XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
Daniel Veillard2d90de42001-04-16 17:46:18 +000025#endif /* LIBXML2_COMPILING_MSCCDEF */
Daniel Veillard5e2dace2001-07-18 19:30:27 +000026
27/**
28 * LIBXML_DOTTED_VERSION:
29 *
30 * the version string like "1.2.3"
31 */
Owen Taylor3473f882001-02-23 17:55:21 +000032#define LIBXML_DOTTED_VERSION "@VERSION@"
Daniel Veillard5e2dace2001-07-18 19:30:27 +000033
34/**
35 * LIBXML_VERSION:
36 *
37 * the version number: 1.2.3 value is 1002003
38 */
Owen Taylor3473f882001-02-23 17:55:21 +000039#define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
Daniel Veillard5e2dace2001-07-18 19:30:27 +000040
41/**
42 * LIBXML_VERSION_STRING:
43 *
44 * the version number string, 1.2.3 value is "1002003"
45 */
Owen Taylor3473f882001-02-23 17:55:21 +000046#define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
Daniel Veillard5e2dace2001-07-18 19:30:27 +000047
48/**
William M. Brackf4025492004-08-18 21:08:46 +000049 * 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/**
Daniel Veillard5e2dace2001-07-18 19:30:27 +000056 * 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 */
Owen Taylor3473f882001-02-23 17:55:21 +000061#define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
62
Daniel Veillardacf7ff02001-10-29 20:21:47 +000063#ifndef VMS
Daniel Veillard7cf5e442001-09-10 20:16:32 +000064#if @WITH_TRIO@
Daniel Veillardbed7b052001-05-19 14:59:49 +000065/**
66 * WITH_TRIO:
67 *
Daniel Veillard7cf5e442001-09-10 20:16:32 +000068 * defined if the trio support need to be configured in
Daniel Veillard92ad2102001-03-27 12:47:33 +000069 */
Daniel Veillard92ad2102001-03-27 12:47:33 +000070#define WITH_TRIO
Daniel Veillard7cf5e442001-09-10 20:16:32 +000071#else
72/**
73 * WITHOUT_TRIO:
74 *
75 * defined if the trio support should not be configured in
76 */
77#define WITHOUT_TRIO
Daniel Veillard92ad2102001-03-27 12:47:33 +000078#endif
Daniel Veillardacf7ff02001-10-29 20:21:47 +000079#else /* VMS */
MST 2003 John Fleck941f40d2003-12-04 04:55:46 +000080/**
81 * WITH_TRIO:
82 *
83 * defined if the trio support need to be configured in
84 */
Daniel Veillardacf7ff02001-10-29 20:21:47 +000085#define WITH_TRIO 1
86#endif /* VMS */
Daniel Veillard92ad2102001-03-27 12:47:33 +000087
Daniel Veillardbed7b052001-05-19 14:59:49 +000088/**
Daniel Veillard9d06d302002-01-22 18:15:52 +000089 * LIBXML_THREAD_ENABLED:
Daniel Veillardb8478642001-10-12 17:29:10 +000090 *
91 * Whether the thread support is configured in
92 */
93#if @WITH_THREADS@
Igor Zlatkovic72f92a82003-06-14 16:48:26 +000094#if defined(_REENTRANT) || defined(__MT__) || (_POSIX_C_SOURCE - 0 >= 199506L)
Daniel Veillardb8478642001-10-12 17:29:10 +000095#define LIBXML_THREAD_ENABLED
96#endif
97#endif
98
99/**
Daniel Veillard652327a2003-09-29 18:02:38 +0000100 * LIBXML_TREE_ENABLED:
101 *
102 * Whether the DOM like tree manipulation API support is configured in
103 */
104#if @WITH_TREE@
105#define LIBXML_TREE_ENABLED
106#endif
107
108/**
Daniel Veillarda9cce9c2003-09-29 13:20:24 +0000109 * LIBXML_OUTPUT_ENABLED:
110 *
111 * Whether the serialization/saving support is configured in
112 */
113#if @WITH_OUTPUT@
114#define LIBXML_OUTPUT_ENABLED
115#endif
116
117/**
Daniel Veillard73b013f2003-09-30 12:36:01 +0000118 * LIBXML_PUSH_ENABLED:
119 *
120 * Whether the push parsing interfaces are configured in
121 */
122#if @WITH_PUSH@
123#define LIBXML_PUSH_ENABLED
124#endif
125
126/**
Daniel Veillard81273902003-09-30 00:43:48 +0000127 * LIBXML_READER_ENABLED:
128 *
129 * Whether the xmlReader parsing interface is configured in
130 */
131#if @WITH_READER@
132#define LIBXML_READER_ENABLED
133#endif
134
135/**
Daniel Veillardb3de70c2003-12-02 22:32:15 +0000136 * LIBXML_PATTERN_ENABLED:
137 *
138 * Whether the xmlPattern node selection interface is configured in
139 */
140#if @WITH_PATTERN@
141#define LIBXML_PATTERN_ENABLED
142#endif
143
144/**
Daniel Veillard1d211e22003-10-20 22:32:39 +0000145 * LIBXML_WRITER_ENABLED:
146 *
147 * Whether the xmlWriter saving interface is configured in
148 */
149#if @WITH_WRITER@
150#define LIBXML_WRITER_ENABLED
151#endif
152
153/**
Daniel Veillard81273902003-09-30 00:43:48 +0000154 * LIBXML_SAX1_ENABLED:
155 *
156 * Whether the older SAX1 interface is configured in
157 */
158#if @WITH_SAX1@
159#define LIBXML_SAX1_ENABLED
160#endif
161
162/**
Daniel Veillardbed7b052001-05-19 14:59:49 +0000163 * LIBXML_FTP_ENABLED:
164 *
Owen Taylor3473f882001-02-23 17:55:21 +0000165 * Whether the FTP support is configured in
166 */
167#if @WITH_FTP@
168#define LIBXML_FTP_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000169#endif
170
Daniel Veillardbed7b052001-05-19 14:59:49 +0000171/**
172 * LIBXML_HTTP_ENABLED:
173 *
Owen Taylor3473f882001-02-23 17:55:21 +0000174 * Whether the HTTP support is configured in
175 */
176#if @WITH_HTTP@
177#define LIBXML_HTTP_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000178#endif
179
Daniel Veillardbed7b052001-05-19 14:59:49 +0000180/**
Daniel Veillard4432df22003-09-28 18:58:27 +0000181 * LIBXML_VALID_ENABLED:
182 *
183 * Whether the DTD validation support is configured in
184 */
185#if @WITH_VALID@
186#define LIBXML_VALID_ENABLED
187#endif
188
189/**
Daniel Veillardbed7b052001-05-19 14:59:49 +0000190 * LIBXML_HTML_ENABLED:
191 *
Owen Taylor3473f882001-02-23 17:55:21 +0000192 * Whether the HTML support is configured in
193 */
194#if @WITH_HTML@
195#define LIBXML_HTML_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000196#endif
197
Daniel Veillardbed7b052001-05-19 14:59:49 +0000198/**
Daniel Veillard4432df22003-09-28 18:58:27 +0000199 * LIBXML_LEGACY_ENABLED:
200 *
201 * Whether the deprecated APIs are compiled in for compatibility
202 */
203#if @WITH_LEGACY@
204#define LIBXML_LEGACY_ENABLED
205#endif
206
207/**
Daniel Veillard044fc6b2002-03-04 17:09:44 +0000208 * LIBXML_C14N_ENABLED:
209 *
210 * Whether the Canonicalization support is configured in
211 */
212#if @WITH_C14N@
213#define LIBXML_C14N_ENABLED
214#endif
215
216/**
Daniel Veillardbed7b052001-05-19 14:59:49 +0000217 * LIBXML_CATALOG_ENABLED:
218 *
Daniel Veillarda7374592001-05-10 14:17:55 +0000219 * Whether the Catalog support is configured in
220 */
221#if @WITH_CATALOG@
222#define LIBXML_CATALOG_ENABLED
Daniel Veillarda7374592001-05-10 14:17:55 +0000223#endif
224
Daniel Veillardbed7b052001-05-19 14:59:49 +0000225/**
226 * LIBXML_DOCB_ENABLED:
227 *
Daniel Veillardeae522a2001-04-23 13:41:34 +0000228 * Whether the SGML Docbook support is configured in
Owen Taylor3473f882001-02-23 17:55:21 +0000229 */
Daniel Veillardeae522a2001-04-23 13:41:34 +0000230#if @WITH_DOCB@
231#define LIBXML_DOCB_ENABLED
Daniel Veillardeae522a2001-04-23 13:41:34 +0000232#endif
Owen Taylor3473f882001-02-23 17:55:21 +0000233
Daniel Veillardbed7b052001-05-19 14:59:49 +0000234/**
235 * LIBXML_XPATH_ENABLED:
236 *
Owen Taylor3473f882001-02-23 17:55:21 +0000237 * Whether XPath is configured in
238 */
239#if @WITH_XPATH@
240#define LIBXML_XPATH_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000241#endif
242
Daniel Veillardbed7b052001-05-19 14:59:49 +0000243/**
244 * LIBXML_XPTR_ENABLED:
245 *
Owen Taylor3473f882001-02-23 17:55:21 +0000246 * Whether XPointer is configured in
247 */
248#if @WITH_XPTR@
249#define LIBXML_XPTR_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000250#endif
251
Daniel Veillardbed7b052001-05-19 14:59:49 +0000252/**
253 * LIBXML_XINCLUDE_ENABLED:
254 *
Owen Taylor3473f882001-02-23 17:55:21 +0000255 * Whether XInclude is configured in
256 */
257#if @WITH_XINCLUDE@
258#define LIBXML_XINCLUDE_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000259#endif
260
Daniel Veillardbed7b052001-05-19 14:59:49 +0000261/**
262 * LIBXML_ICONV_ENABLED:
263 *
Owen Taylor3473f882001-02-23 17:55:21 +0000264 * Whether iconv support is available
265 */
Owen Taylor3473f882001-02-23 17:55:21 +0000266#if @WITH_ICONV@
267#define LIBXML_ICONV_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000268#endif
Owen Taylor3473f882001-02-23 17:55:21 +0000269
Daniel Veillardbed7b052001-05-19 14:59:49 +0000270/**
Daniel Veillard01fc1a92003-07-30 15:12:01 +0000271 * LIBXML_ISO8859X_ENABLED:
272 *
273 * Whether ISO-8859-* support is made available in case iconv is not
274 */
275#if @WITH_ISO8859X@
276#define LIBXML_ISO8859X_ENABLED
277#endif
278
279/**
Daniel Veillardbed7b052001-05-19 14:59:49 +0000280 * LIBXML_DEBUG_ENABLED:
281 *
Owen Taylor3473f882001-02-23 17:55:21 +0000282 * Whether Debugging module is configured in
283 */
284#if @WITH_DEBUG@
285#define LIBXML_DEBUG_ENABLED
Owen Taylor3473f882001-02-23 17:55:21 +0000286#endif
287
Daniel Veillardbed7b052001-05-19 14:59:49 +0000288/**
289 * DEBUG_MEMORY_LOCATION:
290 *
Owen Taylor3473f882001-02-23 17:55:21 +0000291 * Whether the memory debugging is configured in
292 */
293#if @WITH_MEM_DEBUG@
294#define DEBUG_MEMORY_LOCATION
295#endif
296
Daniel Veillard5e2dace2001-07-18 19:30:27 +0000297/**
Daniel Veillard22cdb842004-10-04 14:09:17 +0000298 * LIBXML_DEBUG_RUNTIME:
299 *
300 * Whether the runtime debugging is configured in
301 */
302#if @WITH_MEM_DEBUG@
303#define LIBXML_DEBUG_RUNTIME
304#endif
305
306/**
Daniel Veillard7a02cfe2003-09-25 12:18:34 +0000307 * LIBXML_UNICODE_ENABLED:
Daniel Veillard4255d502002-04-16 15:50:10 +0000308 *
309 * Whether the Unicode related interfaces are compiled in
310 */
Daniel Veillard23e73572002-09-19 19:56:43 +0000311#if @WITH_REGEXPS@
Daniel Veillard4255d502002-04-16 15:50:10 +0000312#define LIBXML_UNICODE_ENABLED
313#endif
314
315/**
Daniel Veillard7a02cfe2003-09-25 12:18:34 +0000316 * LIBXML_REGEXP_ENABLED:
Daniel Veillard4255d502002-04-16 15:50:10 +0000317 *
318 * Whether the regular expressions interfaces are compiled in
319 */
Daniel Veillard23e73572002-09-19 19:56:43 +0000320#if @WITH_REGEXPS@
Daniel Veillard4255d502002-04-16 15:50:10 +0000321#define LIBXML_REGEXP_ENABLED
322#endif
323
324/**
Daniel Veillard7a02cfe2003-09-25 12:18:34 +0000325 * LIBXML_AUTOMATA_ENABLED:
Daniel Veillard4255d502002-04-16 15:50:10 +0000326 *
327 * Whether the automata interfaces are compiled in
328 */
Daniel Veillard23e73572002-09-19 19:56:43 +0000329#if @WITH_REGEXPS@
Daniel Veillard4255d502002-04-16 15:50:10 +0000330#define LIBXML_AUTOMATA_ENABLED
331#endif
332
333/**
Daniel Veillard465a0002005-08-22 12:07:04 +0000334 * LIBXML_EXPR_ENABLED:
335 *
336 * Whether the formal expressions interfaces are compiled in
337 */
338#if @WITH_SCHEMAS@
339#define LIBXML_EXPR_ENABLED
340#endif
341
342/**
Daniel Veillard7a02cfe2003-09-25 12:18:34 +0000343 * LIBXML_SCHEMAS_ENABLED:
Daniel Veillard4255d502002-04-16 15:50:10 +0000344 *
345 * Whether the Schemas validation interfaces are compiled in
346 */
347#if @WITH_SCHEMAS@
348#define LIBXML_SCHEMAS_ENABLED
349#endif
350
351/**
Daniel Veillarded6c5492005-07-23 15:00:22 +0000352 * LIBXML_SCHEMATRON_ENABLED:
353 *
354 * Whether the Schematron validation interfaces are compiled in
355 */
356#if @WITH_SCHEMATRON@
357#define LIBXML_SCHEMATRON_ENABLED
358#endif
359
360/**
Daniel Veillardce1648b2005-01-04 15:10:22 +0000361 * LIBXML_MODULES_ENABLED:
362 *
363 * Whether the module interfaces are compiled in
364 */
365#if @WITH_MODULES@
366#define LIBXML_MODULES_ENABLED
Daniel Veillard5eee7672005-08-22 21:22:27 +0000367/**
368 * LIBXML_MODULE_EXTENSION:
369 *
370 * the string suffix used by dynamic modules (usually shared libraries)
371 */
Daniel Veillardce1648b2005-01-04 15:10:22 +0000372#define LIBXML_MODULE_EXTENSION "@MODULE_EXTENSION@"
373#endif
374
375/**
Daniel Veillardbed7b052001-05-19 14:59:49 +0000376 * ATTRIBUTE_UNUSED:
377 *
378 * Macro used to signal to GCC unused function parameters
379 */
Daniel Veillardc86a4fa2001-03-26 16:28:29 +0000380#ifdef __GNUC__
Daniel Veillard27b55282001-04-11 12:22:25 +0000381#ifdef HAVE_ANSIDECL_H
Daniel Veillardc86a4fa2001-03-26 16:28:29 +0000382#include <ansidecl.h>
Daniel Veillard27b55282001-04-11 12:22:25 +0000383#endif
Daniel Veillardc86a4fa2001-03-26 16:28:29 +0000384#ifndef ATTRIBUTE_UNUSED
William M. Brack30ce0dd2003-11-04 23:57:30 +0000385#define ATTRIBUTE_UNUSED __attribute__((unused))
Daniel Veillardc86a4fa2001-03-26 16:28:29 +0000386#endif
387#else
388#define ATTRIBUTE_UNUSED
389#endif
390
Owen Taylor3473f882001-02-23 17:55:21 +0000391#ifdef __cplusplus
392}
393#endif /* __cplusplus */
394#endif
395
396