1 /*
2  * Summary: compile-time version informations on Windows
3  * Description: compile-time version informations for the XML library
4  *              when compiled on the Windows platform
5  *
6  * Copy: See Copyright for the status of this software.
7  *
8  * Author: Daniel Veillard
9  */
10 
11 #ifndef __XML_VERSION_H__
12 #define __XML_VERSION_H__
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /*
19  * use those to be sure nothing nasty will happen if
20  * your library and includes mismatch
21  */
22 #ifndef LIBXML2_COMPILING_MSCCDEF
23 extern void xmlCheckVersion(int version);
24 #endif /* LIBXML2_COMPILING_MSCCDEF */
25 
26 /**
27  * LIBXML_DOTTED_VERSION:
28  *
29  * the version string like "1.2.3"
30  */
31 #define LIBXML_DOTTED_VERSION "2.4.26"
32 
33 /**
34  * LIBXML_VERSION:
35  *
36  * the version number: 1.2.3 value is 1002003
37  */
38 #define LIBXML_VERSION 20426
39 
40 /**
41  * LIBXML_VERSION_STRING:
42  *
43  * the version number string, 1.2.3 value is "1002003"
44  */
45 #define LIBXML_VERSION_STRING "20426"
46 
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  */
53 #define LIBXML_TEST_VERSION xmlCheckVersion(20426);
54 
55 #if 0
56 /**
57  * WITH_TRIO:
58  *
59  * defined if the trio support need to be configured in
60  */
61 #define WITH_TRIO
62 #else
63 /**
64  * WITHOUT_TRIO:
65  *
66  * defined if the trio support should not be configured in
67  */
68 #define WITHOUT_TRIO
69 #endif
70 
71 /**
72  * LIBXML_THREAD_ENABLED:
73  *
74  * Whether the thread support is configured in
75  */
76 #if 0
77 #define LIBXML_THREAD_ENABLED
78 #endif
79 
80 /**
81  * LIBXML_FTP_ENABLED:
82  *
83  * Whether the FTP support is configured in
84  */
85 #if 1
86 #define LIBXML_FTP_ENABLED
87 #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
96 #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
105 #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
114 #endif
115 
116 /**
117  * LIBXML_DOCB_ENABLED:
118  *
119  * Whether the SGML Docbook support is configured in
120  */
121 #if 1
122 #define LIBXML_DOCB_ENABLED
123 #endif
124 
125 /**
126  * LIBXML_XPATH_ENABLED:
127  *
128  * Whether XPath is configured in
129  */
130 #if 1
131 #define LIBXML_XPATH_ENABLED
132 #endif
133 
134 /**
135  * LIBXML_XPTR_ENABLED:
136  *
137  * Whether XPointer is configured in
138  */
139 #if 1
140 #define LIBXML_XPTR_ENABLED
141 #endif
142 
143 /**
144  * 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 /**
153  * LIBXML_XINCLUDE_ENABLED:
154  *
155  * Whether XInclude is configured in
156  */
157 #if 1
158 #define LIBXML_XINCLUDE_ENABLED
159 #endif
160 
161 /**
162  * LIBXML_ICONV_ENABLED:
163  *
164  * Whether iconv support is available
165  */
166 #if 0
167 #define LIBXML_ICONV_ENABLED
168 #endif
169 
170 /**
171  * LIBXML_DEBUG_ENABLED:
172  *
173  * Whether Debugging module is configured in
174  */
175 #if 1
176 #define LIBXML_DEBUG_ENABLED
177 #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 
188 /**
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  */
203 #ifndef LIBXML_DLL_IMPORT
204 #if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
205 #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
215  */
216 #ifdef __GNUC__
217 #ifdef HAVE_ANSIDECL_H
218 #include <ansidecl.h>
219 #endif
220 #ifndef ATTRIBUTE_UNUSED
221 #define ATTRIBUTE_UNUSED
222 #endif
223 #else
224 #define ATTRIBUTE_UNUSED
225 #endif
226 
227 /*
228  * #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 
239 #ifdef __cplusplus
240 }
241 #endif /* __cplusplus */
242 #endif
243