/ libxml2 / include / libxml / xmlwin32version.h.in
xmlwin32version.h.in
  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 "@VERSION@"
 32  
 33  /**
 34   * LIBXML_VERSION:
 35   *
 36   * the version number: 1.2.3 value is 1002003
 37   */
 38  #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
 39  
 40  /**
 41   * LIBXML_VERSION_STRING:
 42   *
 43   * the version number string, 1.2.3 value is "1002003"
 44   */
 45  #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
 46  
 47  /**
 48   * LIBXML_VERSION_EXTRA:
 49   *
 50   * extra version information, used to show a CVS compilation
 51   */
 52  #define LIBXML_VERSION_EXTRA "-win32"
 53  
 54  /**
 55   * 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   */
 60  #define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
 61  
 62  #if 0
 63  /**
 64   * WITH_TRIO:
 65   *
 66   * defined if the trio support need to be configured in
 67   */
 68  #define WITH_TRIO
 69  #else
 70  /**
 71   * WITHOUT_TRIO:
 72   *
 73   * defined if the trio support should not be configured in
 74   */
 75  #define WITHOUT_TRIO
 76  #endif
 77  
 78  /**
 79   * LIBXML_THREAD_ENABLED:
 80   *
 81   * Whether the thread support is configured in
 82   */
 83  #if 0
 84  #define LIBXML_THREAD_ENABLED
 85  #endif
 86  
 87  /**
 88   * LIBXML_FTP_ENABLED:
 89   *
 90   * Whether the FTP support is configured in
 91   */
 92  #if 1
 93  #define LIBXML_FTP_ENABLED
 94  #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
103  #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
112  #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
121  #endif
122  
123  /**
124   * LIBXML_DOCB_ENABLED:
125   *
126   * Whether the SGML Docbook support is configured in
127   */
128  #if 1
129  #define LIBXML_DOCB_ENABLED
130  #endif
131  
132  /**
133   * LIBXML_XPATH_ENABLED:
134   *
135   * Whether XPath is configured in
136   */
137  #if 1
138  #define LIBXML_XPATH_ENABLED
139  #endif
140  
141  /**
142   * LIBXML_XPTR_ENABLED:
143   *
144   * Whether XPointer is configured in
145   */
146  #if 1
147  #define LIBXML_XPTR_ENABLED
148  #endif
149  
150  /**
151   * 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  /**
160   * LIBXML_XINCLUDE_ENABLED:
161   *
162   * Whether XInclude is configured in
163   */
164  #if 1
165  #define LIBXML_XINCLUDE_ENABLED
166  #endif
167  
168  /**
169   * 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  /**
178   * LIBXML_ICONV_ENABLED:
179   *
180   * Whether iconv support is available
181   */
182  #if 0
183  #define LIBXML_ICONV_ENABLED
184  #endif
185  
186  /**
187   * 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  /**
196   * LIBXML_DEBUG_ENABLED:
197   *
198   * Whether Debugging module is configured in
199   */
200  #if 1
201  #define LIBXML_DEBUG_ENABLED
202  #endif
203  
204  /**
205   * DEBUG_MEMORY_LOCATION:
206   *
207   * Whether the memory debugging is configured in
208   */
209  #if 0
210  #define DEBUG_MEMORY_LOCATION
211  #endif
212  
213  /**
214   * 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  /**
223   * 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   */
237  #ifndef LIBXML_DLL_IMPORT
238  #if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
239  #define LIBXML_DLL_IMPORT __declspec(dllimport)
240  #else
241  #define LIBXML_DLL_IMPORT
242  #endif
243  #endif
244  
245  #ifdef __GNUC__
246  #ifdef HAVE_ANSIDECL_H
247  #include <ansidecl.h>
248  #endif
249  
250  /**
251   * ATTRIBUTE_UNUSED:
252   *
253   * Macro used to signal to GCC unused function parameters
254   */
255  
256  #ifndef ATTRIBUTE_UNUSED
257  #define ATTRIBUTE_UNUSED
258  #endif
259  
260  /**
261   * ATTRIBUTE_ALLOC_SIZE:
262   *
263   * Macro used to indicate to GCC this is an allocator function
264   */
265  
266  #ifndef ATTRIBUTE_ALLOC_SIZE
267  # if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
268  #  define ATTRIBUTE_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
269  # else
270  #  define ATTRIBUTE_ALLOC_SIZE(x)
271  # endif
272  #else
273  # define ATTRIBUTE_ALLOC_SIZE(x)
274  #endif
275  
276  /**
277   * LIBXML_ATTR_FORMAT:
278   *
279   * Macro used to indicate to GCC the parameter are printf like
280   */
281  
282  #ifndef LIBXML_ATTR_FORMAT
283  # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
284  #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
285  # else
286  #  define LIBXML_ATTR_FORMAT(fmt,args)
287  # endif
288  #else
289  # define LIBXML_ATTR_FORMAT(fmt,args)
290  #endif
291  
292  #else /* !__GNUC__ */
293  #define ATTRIBUTE_UNUSED
294  #define LIBXML_ATTR_FORMAT(fmt,args)
295  #define ATTRIBUTE_ALLOC_SIZE(x)
296  #endif /* __GNUC__ */
297  
298  /*
299   * #pragma comment(lib, "iconv.lib")
300   *
301   * pragma understood my MS compiler which enables a conditional link with
302   * iconv.
303   */
304  #ifdef _MSC_VER
305  #if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF
306  #pragma comment(lib, "iconv.lib")
307  #endif
308  #endif
309  
310  /*
311   * #pragma comment(lib, "kernel32.lib")
312   *
313   * pragma understood my MS compiler which enables a conditional link with
314   * kernel32.
315   */
316  #ifdef _MSC_VER
317  #if defined LIBXML_MODULES_ENABLED
318  #pragma comment(lib, "kernel32.lib")
319  #endif
320  #endif
321  
322  #ifdef __cplusplus
323  }
324  #endif /* __cplusplus */
325  #endif