blob: 544d5a975d8b09ab6fed04358e67765c988017e3 [file] [log] [blame]
Daniel Veillardf7f41852001-06-22 15:18:01 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: compile-time version informations on Windows
3 * Description: compile-time version informations for the XML library
4 * when compiled on the Windows platform
Daniel Veillardf7f41852001-06-22 15:18:01 +00005 *
Daniel Veillardbe586972003-11-18 20:56:51 +00006 * Copy: See Copyright for the status of this software.
Daniel Veillardf7f41852001-06-22 15:18:01 +00007 *
Daniel Veillardbe586972003-11-18 20:56:51 +00008 * Author: Daniel Veillard
Daniel Veillardf7f41852001-06-22 15:18:01 +00009 */
10
11#ifndef __XML_VERSION_H__
12#define __XML_VERSION_H__
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/*
19 * use those to be sure nothing nasty will happen if
20 * your library and includes mismatch
21 */
Daniel Veillard50f34372001-08-03 12:06:36 +000022#ifndef LIBXML2_COMPILING_MSCCDEF
Daniel Veillard05dec342001-07-14 21:57:39 +000023extern void xmlCheckVersion(int version);
Daniel Veillard50f34372001-08-03 12:06:36 +000024#endif /* LIBXML2_COMPILING_MSCCDEF */
25
26/**
27 * LIBXML_DOTTED_VERSION:
28 *
29 * the version string like "1.2.3"
30 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000031#define LIBXML_DOTTED_VERSION "@VERSION@"
Daniel Veillard50f34372001-08-03 12:06:36 +000032
33/**
34 * LIBXML_VERSION:
35 *
36 * the version number: 1.2.3 value is 1002003
37 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000038#define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
Daniel Veillard50f34372001-08-03 12:06:36 +000039
40/**
41 * LIBXML_VERSION_STRING:
42 *
43 * the version number string, 1.2.3 value is "1002003"
44 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000045#define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
Daniel Veillard50f34372001-08-03 12:06:36 +000046
47/**
William M. Brackf4025492004-08-18 21:08:46 +000048 * LIBXML_VERSION_EXTRA:
49 *
50 * extra version information, used to show a CVS compilation
51 */
Daniel Veillardd17760f2005-07-10 14:12:00 +000052#define LIBXML_VERSION_EXTRA "-win32"
William M. Brackf4025492004-08-18 21:08:46 +000053
54/**
Daniel Veillard50f34372001-08-03 12:06:36 +000055 * LIBXML_TEST_VERSION:
56 *
57 * Macro to check that the libxml version in use is compatible with
58 * the version the software has been compiled against
59 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000060#define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
Daniel Veillardf7f41852001-06-22 15:18:01 +000061
Daniel Veillard7cf5e442001-09-10 20:16:32 +000062#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +000063/**
64 * WITH_TRIO:
65 *
Daniel Veillard7cf5e442001-09-10 20:16:32 +000066 * defined if the trio support need to be configured in
Daniel Veillardf7f41852001-06-22 15:18:01 +000067 */
Daniel Veillardf7f41852001-06-22 15:18:01 +000068#define WITH_TRIO
Daniel Veillard7cf5e442001-09-10 20:16:32 +000069#else
70/**
71 * WITHOUT_TRIO:
72 *
73 * defined if the trio support should not be configured in
74 */
75#define WITHOUT_TRIO
Daniel Veillardf7f41852001-06-22 15:18:01 +000076#endif
77
78/**
Daniel Veillardda423da2002-04-10 19:25:38 +000079 * LIBXML_THREAD_ENABLED:
Daniel Veillarddb0eb8d2002-01-13 13:35:00 +000080 *
81 * Whether the thread support is configured in
82 */
83#if 0
84#define LIBXML_THREAD_ENABLED
85#endif
86
87/**
Daniel Veillardf7f41852001-06-22 15:18:01 +000088 * LIBXML_FTP_ENABLED:
89 *
90 * Whether the FTP support is configured in
91 */
92#if 1
93#define LIBXML_FTP_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000094#endif
95
96/**
97 * LIBXML_HTTP_ENABLED:
98 *
99 * Whether the HTTP support is configured in
100 */
101#if 1
102#define LIBXML_HTTP_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000103#endif
104
105/**
106 * LIBXML_HTML_ENABLED:
107 *
108 * Whether the HTML support is configured in
109 */
110#if 1
111#define LIBXML_HTML_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000112#endif
113
114/**
115 * LIBXML_CATALOG_ENABLED:
116 *
117 * Whether the Catalog support is configured in
118 */
119#if 1
120#define LIBXML_CATALOG_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000121#endif
122
123/**
124 * LIBXML_DOCB_ENABLED:
125 *
126 * Whether the SGML Docbook support is configured in
127 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000128#if 1
Daniel Veillardf7f41852001-06-22 15:18:01 +0000129#define LIBXML_DOCB_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000130#endif
131
132/**
133 * LIBXML_XPATH_ENABLED:
134 *
135 * Whether XPath is configured in
136 */
137#if 1
138#define LIBXML_XPATH_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000139#endif
140
141/**
142 * LIBXML_XPTR_ENABLED:
143 *
144 * Whether XPointer is configured in
145 */
146#if 1
147#define LIBXML_XPTR_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000148#endif
149
150/**
Daniel Veillard044fc6b2002-03-04 17:09:44 +0000151 * LIBXML_C14N_ENABLED:
152 *
153 * Whether the Canonicalization support is configured in
154 */
155#if 0
156#define LIBXML_C14N_ENABLED
157#endif
158
159/**
Daniel Veillardf7f41852001-06-22 15:18:01 +0000160 * LIBXML_XINCLUDE_ENABLED:
161 *
162 * Whether XInclude is configured in
163 */
164#if 1
165#define LIBXML_XINCLUDE_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000166#endif
167
168/**
Daniel Veillarded6c5492005-07-23 15:00:22 +0000169 * LIBXML_SCHEMATRON_ENABLED:
170 *
171 * Whether the Schematron validation interfaces are compiled in
172 */
173#if 1
174#define LIBXML_SCHEMATRON_ENABLED
175#endif
176
177/**
Daniel Veillardf7f41852001-06-22 15:18:01 +0000178 * LIBXML_ICONV_ENABLED:
179 *
180 * Whether iconv support is available
181 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000182#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +0000183#define LIBXML_ICONV_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000184#endif
Daniel Veillardf7f41852001-06-22 15:18:01 +0000185
186/**
Daniel Veillard01fc1a92003-07-30 15:12:01 +0000187 * LIBXML_ISO8859X_ENABLED:
188 *
189 * Whether ISO-8859-* support is made available in case iconv is not
190 */
191#if 1
192#define LIBXML_ISO8859X_ENABLED
193#endif
194
195/**
Daniel Veillardf7f41852001-06-22 15:18:01 +0000196 * LIBXML_DEBUG_ENABLED:
197 *
198 * Whether Debugging module is configured in
199 */
200#if 1
201#define LIBXML_DEBUG_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000202#endif
203
204/**
205 * DEBUG_MEMORY_LOCATION:
206 *
207 * Whether the memory debugging is configured in
208 */
Daniel Veillard07385fd2001-06-23 21:55:48 +0000209#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +0000210#define DEBUG_MEMORY_LOCATION
211#endif
212
Daniel Veillard50f34372001-08-03 12:06:36 +0000213/**
Daniel Veillard22cdb842004-10-04 14:09:17 +0000214 * LIBXML_DEBUG_RUNTIME:
215 *
216 * Whether the runtime debugging is configured in
217 */
218#if 0
219#define LIBXML_DEBUG_RUNTIME
220#endif
221
222/**
Daniel Veillard50f34372001-08-03 12:06:36 +0000223 * LIBXML_DLL_IMPORT:
224 *
225 * Used on Windows (MS C compiler only) to declare a variable as
226 * imported from the library. This macro should be empty when compiling
227 * libxml itself. It should expand to __declspec(dllimport)
228 * when the client code includes this header, and that only if the client
229 * links dynamically against libxml.
230 * For this to work, we need three macros. One tells us which compiler is
231 * being used and luckily the compiler defines such a thing: _MSC_VER. The
232 * second macro tells us if we are compiling libxml or the client code and
233 * we define the macro IN_LIBXML on the compiler's command line for this
234 * purpose. The third macro, LIBXML_STATIC, must be defined by any client
235 * code which links against libxml statically.
236 */
Daniel Veillardf7f41852001-06-22 15:18:01 +0000237#ifndef LIBXML_DLL_IMPORT
Daniel Veillard50f34372001-08-03 12:06:36 +0000238#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
Daniel Veillardf7f41852001-06-22 15:18:01 +0000239#define LIBXML_DLL_IMPORT __declspec(dllimport)
240#else
241#define LIBXML_DLL_IMPORT
242#endif
243#endif
244
245/**
246 * ATTRIBUTE_UNUSED:
247 *
248 * Macro used to signal to GCC unused function parameters
249 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000250#ifdef __GNUC__
251#ifdef HAVE_ANSIDECL_H
252#include <ansidecl.h>
253#endif
254#ifndef ATTRIBUTE_UNUSED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000255#define ATTRIBUTE_UNUSED
Daniel Veillard50f34372001-08-03 12:06:36 +0000256#endif
257#else
258#define ATTRIBUTE_UNUSED
259#endif
Daniel Veillardf7f41852001-06-22 15:18:01 +0000260
William M. Brack60f394e2003-11-16 06:25:42 +0000261/*
Daniel Veillard8e3943c2001-11-12 21:35:44 +0000262 * #pragma comment(lib, "iconv.lib")
263 *
264 * pragma understood my MS compiler which enables a conditional link with
265 * iconv.
266 */
267#ifdef _MSC_VER
268#if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF
269#pragma comment(lib, "iconv.lib")
270#endif
271#endif
272
Daniel Veillardce1648b2005-01-04 15:10:22 +0000273/*
274 * #pragma comment(lib, "kernel32.lib")
275 *
276 * pragma understood my MS compiler which enables a conditional link with
277 * kernel32.
278 */
279#ifdef _MSC_VER
280#if defined LIBXML_MODULES_ENABLED
281#pragma comment(lib, "kernel32.lib")
282#endif
283#endif
284
Daniel Veillardf7f41852001-06-22 15:18:01 +0000285#ifdef __cplusplus
286}
287#endif /* __cplusplus */
288#endif