blob: d09dd03a078dd3af30aa49bbdd7a2dcc65a09715 [file] [log] [blame]
Daniel Veillardfdb1f242001-07-27 23:32:44 +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 Veillardfdb1f242001-07-27 23:32:44 +00005 *
Daniel Veillardbe586972003-11-18 20:56:51 +00006 * Copy: See Copyright for the status of this software.
Daniel Veillardfdb1f242001-07-27 23:32:44 +00007 *
Daniel Veillardbe586972003-11-18 20:56:51 +00008 * Author: Daniel Veillard
Daniel Veillardfdb1f242001-07-27 23:32:44 +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 Veillardfdb1f242001-07-27 23:32:44 +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 Veillard48267432002-10-18 11:21:38 +000031#define LIBXML_DOTTED_VERSION "2.4.26"
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 Veillard48267432002-10-18 11:21:38 +000038#define LIBXML_VERSION 20426
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 Veillard48267432002-10-18 11:21:38 +000045#define LIBXML_VERSION_STRING "20426"
Daniel Veillard50f34372001-08-03 12:06:36 +000046
47/**
48 * LIBXML_TEST_VERSION:
49 *
50 * Macro to check that the libxml version in use is compatible with
51 * the version the software has been compiled against
52 */
Daniel Veillard48267432002-10-18 11:21:38 +000053#define LIBXML_TEST_VERSION xmlCheckVersion(20426);
Daniel Veillardfdb1f242001-07-27 23:32:44 +000054
Daniel Veillard7cf5e442001-09-10 20:16:32 +000055#if 0
Daniel Veillardfdb1f242001-07-27 23:32:44 +000056/**
57 * WITH_TRIO:
58 *
Daniel Veillard7cf5e442001-09-10 20:16:32 +000059 * defined if the trio support need to be configured in
Daniel Veillardfdb1f242001-07-27 23:32:44 +000060 */
Daniel Veillardfdb1f242001-07-27 23:32:44 +000061#define WITH_TRIO
Daniel Veillard7cf5e442001-09-10 20:16:32 +000062#else
63/**
64 * WITHOUT_TRIO:
65 *
66 * defined if the trio support should not be configured in
67 */
68#define WITHOUT_TRIO
Daniel Veillardfdb1f242001-07-27 23:32:44 +000069#endif
70
71/**
Daniel Veillardda423da2002-04-10 19:25:38 +000072 * LIBXML_THREAD_ENABLED:
Daniel Veillarddb0eb8d2002-01-13 13:35:00 +000073 *
74 * Whether the thread support is configured in
75 */
76#if 0
77#define LIBXML_THREAD_ENABLED
78#endif
79
80/**
Daniel Veillardfdb1f242001-07-27 23:32:44 +000081 * LIBXML_FTP_ENABLED:
82 *
83 * Whether the FTP support is configured in
84 */
85#if 1
86#define LIBXML_FTP_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +000087#endif
88
89/**
90 * LIBXML_HTTP_ENABLED:
91 *
92 * Whether the HTTP support is configured in
93 */
94#if 1
95#define LIBXML_HTTP_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +000096#endif
97
98/**
99 * LIBXML_HTML_ENABLED:
100 *
101 * Whether the HTML support is configured in
102 */
103#if 1
104#define LIBXML_HTML_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000105#endif
106
107/**
108 * LIBXML_CATALOG_ENABLED:
109 *
110 * Whether the Catalog support is configured in
111 */
112#if 1
113#define LIBXML_CATALOG_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000114#endif
115
116/**
117 * LIBXML_DOCB_ENABLED:
118 *
119 * Whether the SGML Docbook support is configured in
120 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000121#if 1
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000122#define LIBXML_DOCB_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000123#endif
124
125/**
126 * LIBXML_XPATH_ENABLED:
127 *
128 * Whether XPath is configured in
129 */
130#if 1
131#define LIBXML_XPATH_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000132#endif
133
134/**
135 * LIBXML_XPTR_ENABLED:
136 *
137 * Whether XPointer is configured in
138 */
139#if 1
140#define LIBXML_XPTR_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000141#endif
142
143/**
Daniel Veillard48267432002-10-18 11:21:38 +0000144 * LIBXML_C14N_ENABLED:
145 *
146 * Whether the Canonicalization support is configured in
147 */
148#if 0
149#define LIBXML_C14N_ENABLED
150#endif
151
152/**
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000153 * LIBXML_XINCLUDE_ENABLED:
154 *
155 * Whether XInclude is configured in
156 */
157#if 1
158#define LIBXML_XINCLUDE_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000159#endif
160
161/**
162 * LIBXML_ICONV_ENABLED:
163 *
164 * Whether iconv support is available
165 */
Daniel Veillard48267432002-10-18 11:21:38 +0000166#if 0
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000167#define LIBXML_ICONV_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000168#endif
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000169
170/**
171 * LIBXML_DEBUG_ENABLED:
172 *
173 * Whether Debugging module is configured in
174 */
175#if 1
176#define LIBXML_DEBUG_ENABLED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000177#endif
178
179/**
180 * DEBUG_MEMORY_LOCATION:
181 *
182 * Whether the memory debugging is configured in
183 */
184#if 0
185#define DEBUG_MEMORY_LOCATION
186#endif
187
Daniel Veillard50f34372001-08-03 12:06:36 +0000188/**
189 * LIBXML_DLL_IMPORT:
190 *
191 * Used on Windows (MS C compiler only) to declare a variable as
192 * imported from the library. This macro should be empty when compiling
193 * libxml itself. It should expand to __declspec(dllimport)
194 * when the client code includes this header, and that only if the client
195 * links dynamically against libxml.
196 * For this to work, we need three macros. One tells us which compiler is
197 * being used and luckily the compiler defines such a thing: _MSC_VER. The
198 * second macro tells us if we are compiling libxml or the client code and
199 * we define the macro IN_LIBXML on the compiler's command line for this
200 * purpose. The third macro, LIBXML_STATIC, must be defined by any client
201 * code which links against libxml statically.
202 */
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000203#ifndef LIBXML_DLL_IMPORT
Daniel Veillard48267432002-10-18 11:21:38 +0000204#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000205#define LIBXML_DLL_IMPORT __declspec(dllimport)
206#else
207#define LIBXML_DLL_IMPORT
208#endif
209#endif
210
211/**
212 * ATTRIBUTE_UNUSED:
213 *
214 * Macro used to signal to GCC unused function parameters
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000215 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000216#ifdef __GNUC__
217#ifdef HAVE_ANSIDECL_H
218#include <ansidecl.h>
219#endif
220#ifndef ATTRIBUTE_UNUSED
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000221#define ATTRIBUTE_UNUSED
Daniel Veillard50f34372001-08-03 12:06:36 +0000222#endif
223#else
224#define ATTRIBUTE_UNUSED
225#endif
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000226
William M. Brack60f394e2003-11-16 06:25:42 +0000227/*
Daniel Veillard48267432002-10-18 11:21:38 +0000228 * #pragma comment(lib, "iconv.lib")
229 *
230 * pragma understood my MS compiler which enables a conditional link with
231 * iconv.
232 */
233#ifdef _MSC_VER
234#if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF
235#pragma comment(lib, "iconv.lib")
236#endif
237#endif
238
Daniel Veillardfdb1f242001-07-27 23:32:44 +0000239#ifdef __cplusplus
240}
241#endif /* __cplusplus */
242#endif