blob: d80540ad3ca8f0c1fbc8fa84c77b4cd93820f4e9 [file] [log] [blame]
Daniel Veillardfdb1f242001-07-27 23:32:44 +00001/*
2 * xmlwin32version.h : compile-time version informations for the XML parser
3 * when compiled on the Windows platform
4 *
5 * See Copyright for the status of this software.
6 *
7 * daniel@veillard.com
8 */
9
10#ifndef __XML_VERSION_H__
11#define __XML_VERSION_H__
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*
18 * use those to be sure nothing nasty will happen if
19 * your library and includes mismatch
20 */
Daniel Veillard50f34372001-08-03 12:06:36 +000021#ifndef LIBXML2_COMPILING_MSCCDEF
Daniel Veillardfdb1f242001-07-27 23:32:44 +000022extern void xmlCheckVersion(int version);
Daniel Veillard50f34372001-08-03 12:06:36 +000023#endif /* LIBXML2_COMPILING_MSCCDEF */
24
25/**
26 * LIBXML_DOTTED_VERSION:
27 *
28 * the version string like "1.2.3"
29 */
Daniel Veillardaf43f632002-03-08 15:05:20 +000030#define LIBXML_DOTTED_VERSION "2.4.17"
Daniel Veillard50f34372001-08-03 12:06:36 +000031
32/**
33 * LIBXML_VERSION:
34 *
35 * the version number: 1.2.3 value is 1002003
36 */
Daniel Veillardaf43f632002-03-08 15:05:20 +000037#define LIBXML_VERSION 20417
Daniel Veillard50f34372001-08-03 12:06:36 +000038
39/**
40 * LIBXML_VERSION_STRING:
41 *
42 * the version number string, 1.2.3 value is "1002003"
43 */
Daniel Veillardaf43f632002-03-08 15:05:20 +000044#define LIBXML_VERSION_STRING "20417"
Daniel Veillard50f34372001-08-03 12:06:36 +000045
46/**
47 * LIBXML_TEST_VERSION:
48 *
49 * Macro to check that the libxml version in use is compatible with
50 * the version the software has been compiled against
51 */
Daniel Veillardaf43f632002-03-08 15:05:20 +000052#define LIBXML_TEST_VERSION xmlCheckVersion(20417);
Daniel Veillardfdb1f242001-07-27 23:32:44 +000053
Daniel Veillard7cf5e442001-09-10 20:16:32 +000054#if 0
Daniel Veillardfdb1f242001-07-27 23:32:44 +000055/**
56 * WITH_TRIO:
57 *
Daniel Veillard7cf5e442001-09-10 20:16:32 +000058 * defined if the trio support need to be configured in
Daniel Veillardfdb1f242001-07-27 23:32:44 +000059 */
Daniel Veillardfdb1f242001-07-27 23:32:44 +000060#define WITH_TRIO
Daniel Veillard7cf5e442001-09-10 20:16:32 +000061#else
62/**
63 * WITHOUT_TRIO:
64 *
65 * defined if the trio support should not be configured in
66 */
67#define WITHOUT_TRIO
Daniel Veillardfdb1f242001-07-27 23:32:44 +000068#endif
69
70/**
Daniel Veillarddb0eb8d2002-01-13 13:35:00 +000071 * LIBXML_THREADS_ENABLED:
72 *
73 * Whether the thread support is configured in
74 */
75#if 0
76#define LIBXML_THREAD_ENABLED
77#endif
78
79/**
Daniel Veillardfdb1f242001-07-27 23:32:44 +000080 * LIBXML_FTP_ENABLED:
81 *
82 * Whether the FTP support is configured in
83 */
84#if 1
85#define LIBXML_FTP_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +000086#endif
87
88/**
89 * LIBXML_HTTP_ENABLED:
90 *
91 * Whether the HTTP support is configured in
92 */
93#if 1
94#define LIBXML_HTTP_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +000095#endif
96
97/**
98 * LIBXML_HTML_ENABLED:
99 *
100 * Whether the HTML support is configured in
101 */
102#if 1
103#define LIBXML_HTML_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000104#endif
105
106/**
107 * LIBXML_CATALOG_ENABLED:
108 *
109 * Whether the Catalog support is configured in
110 */
111#if 1
112#define LIBXML_CATALOG_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000113#endif
114
115/**
116 * LIBXML_DOCB_ENABLED:
117 *
118 * Whether the SGML Docbook support is configured in
119 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000120#if 1
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000121#define LIBXML_DOCB_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000122#endif
123
124/**
125 * LIBXML_XPATH_ENABLED:
126 *
127 * Whether XPath is configured in
128 */
129#if 1
130#define LIBXML_XPATH_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000131#endif
132
133/**
134 * LIBXML_XPTR_ENABLED:
135 *
136 * Whether XPointer is configured in
137 */
138#if 1
139#define LIBXML_XPTR_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000140#endif
141
142/**
Daniel Veillard044fc6b2002-03-04 17:09:44 +0000143 * LIBXML_C14N_ENABLED:
144 *
145 * Whether the Canonicalization support is configured in
146 */
147#if 0
148#define LIBXML_C14N_ENABLED
149#endif
150
151/**
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000152 * LIBXML_XINCLUDE_ENABLED:
153 *
154 * Whether XInclude is configured in
155 */
156#if 1
157#define LIBXML_XINCLUDE_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000158#endif
159
160/**
161 * LIBXML_ICONV_ENABLED:
162 *
163 * Whether iconv support is available
164 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000165#if 0
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000166#define LIBXML_ICONV_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000167#endif
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000168
169/**
170 * LIBXML_DEBUG_ENABLED:
171 *
172 * Whether Debugging module is configured in
173 */
174#if 1
175#define LIBXML_DEBUG_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000176#endif
177
178/**
179 * DEBUG_MEMORY_LOCATION:
180 *
181 * Whether the memory debugging is configured in
182 */
183#if 0
184#define DEBUG_MEMORY_LOCATION
185#endif
186
Daniel Veillard50f34372001-08-03 12:06:36 +0000187/**
188 * LIBXML_DLL_IMPORT:
189 *
190 * Used on Windows (MS C compiler only) to declare a variable as
191 * imported from the library. This macro should be empty when compiling
192 * libxml itself. It should expand to __declspec(dllimport)
193 * when the client code includes this header, and that only if the client
194 * links dynamically against libxml.
195 * For this to work, we need three macros. One tells us which compiler is
196 * being used and luckily the compiler defines such a thing: _MSC_VER. The
197 * second macro tells us if we are compiling libxml or the client code and
198 * we define the macro IN_LIBXML on the compiler's command line for this
199 * purpose. The third macro, LIBXML_STATIC, must be defined by any client
200 * code which links against libxml statically.
201 */
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000202#ifndef LIBXML_DLL_IMPORT
Daniel Veillard50f34372001-08-03 12:06:36 +0000203#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000204#define LIBXML_DLL_IMPORT __declspec(dllimport)
205#else
206#define LIBXML_DLL_IMPORT
207#endif
208#endif
209
210/**
211 * ATTRIBUTE_UNUSED:
212 *
213 * Macro used to signal to GCC unused function parameters
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000214 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000215#ifdef __GNUC__
216#ifdef HAVE_ANSIDECL_H
217#include <ansidecl.h>
218#endif
219#ifndef ATTRIBUTE_UNUSED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000220#define ATTRIBUTE_UNUSED
Daniel Veillard50f34372001-08-03 12:06:36 +0000221#endif
222#else
223#define ATTRIBUTE_UNUSED
224#endif
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000225
Daniel Veillard8e3943c2001-11-12 21:35:44 +0000226/**
227 * #pragma comment(lib, "iconv.lib")
228 *
229 * pragma understood my MS compiler which enables a conditional link with
230 * iconv.
231 */
232#ifdef _MSC_VER
233#if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF
234#pragma comment(lib, "iconv.lib")
235#endif
236#endif
237
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000238#ifdef __cplusplus
239}
240#endif /* __cplusplus */
241#endif