/ libxml2 / include / libxml / xmlversion.h.in
xmlversion.h.in
  1  /*
  2   * Summary: compile-time version informations
  3   * Description: compile-time version informations for the XML library
  4   *
  5   * Copy: See Copyright for the status of this software.
  6   *
  7   * Author: Daniel Veillard
  8   */
  9  
 10  #ifndef __XML_VERSION_H__
 11  #define __XML_VERSION_H__
 12  
 13  #include <libxml/xmlexports.h>
 14  
 15  #ifdef __cplusplus
 16  extern "C" {
 17  #endif
 18  
 19  /*
 20   * use those to be sure nothing nasty will happen if
 21   * your library and includes mismatch
 22   */
 23  #ifndef LIBXML2_COMPILING_MSCCDEF
 24  XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
 25  #endif /* LIBXML2_COMPILING_MSCCDEF */
 26  
 27  /**
 28   * LIBXML_DOTTED_VERSION:
 29   *
 30   * the version string like "1.2.3"
 31   */
 32  #define LIBXML_DOTTED_VERSION "@VERSION@"
 33  
 34  /**
 35   * LIBXML_VERSION:
 36   *
 37   * the version number: 1.2.3 value is 10203
 38   */
 39  #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
 40  
 41  /**
 42   * LIBXML_VERSION_STRING:
 43   *
 44   * the version number string, 1.2.3 value is "10203"
 45   */
 46  #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
 47  
 48  /**
 49   * LIBXML_VERSION_EXTRA:
 50   *
 51   * extra version information, used to show a CVS compilation
 52   */
 53  #define LIBXML_VERSION_EXTRA "@LIBXML_VERSION_EXTRA@"
 54  
 55  /**
 56   * LIBXML_TEST_VERSION:
 57   *
 58   * Macro to check that the libxml version in use is compatible with
 59   * the version the software has been compiled against
 60   */
 61  #define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
 62  
 63  #ifndef VMS
 64  #if @WITH_TRIO@
 65  /**
 66   * WITH_TRIO:
 67   *
 68   * defined if the trio support need to be configured in
 69   */
 70  #define WITH_TRIO
 71  #else
 72  /**
 73   * WITHOUT_TRIO:
 74   *
 75   * defined if the trio support should not be configured in
 76   */
 77  #define WITHOUT_TRIO
 78  #endif
 79  #else /* VMS */
 80  /**
 81   * WITH_TRIO:
 82   *
 83   * defined if the trio support need to be configured in
 84   */
 85  #define WITH_TRIO 1
 86  #endif /* VMS */
 87  
 88  /**
 89   * LIBXML_THREAD_ENABLED:
 90   *
 91   * Whether the thread support is configured in
 92   */
 93  #if @WITH_THREADS@
 94  #if defined(_REENTRANT) || defined(__MT__) || \
 95      (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))
 96  #define LIBXML_THREAD_ENABLED
 97  #endif
 98  #endif
 99  
100  /**
101   * LIBXML_THREAD_ALLOC_ENABLED:
102   *
103   * Whether the allocation hooks are per-thread
104   */
105  #if @WITH_THREAD_ALLOC@
106  #define LIBXML_THREAD_ALLOC_ENABLED
107  #endif
108  
109  /**
110   * LIBXML_TREE_ENABLED:
111   *
112   * Whether the DOM like tree manipulation API support is configured in
113   */
114  #if @WITH_TREE@
115  #define LIBXML_TREE_ENABLED
116  #endif
117  
118  /**
119   * LIBXML_OUTPUT_ENABLED:
120   *
121   * Whether the serialization/saving support is configured in
122   */
123  #if @WITH_OUTPUT@
124  #define LIBXML_OUTPUT_ENABLED
125  #endif
126  
127  /**
128   * LIBXML_PUSH_ENABLED:
129   *
130   * Whether the push parsing interfaces are configured in
131   */
132  #if @WITH_PUSH@
133  #define LIBXML_PUSH_ENABLED
134  #endif
135  
136  /**
137   * LIBXML_READER_ENABLED:
138   *
139   * Whether the xmlReader parsing interface is configured in
140   */
141  #if @WITH_READER@
142  #define LIBXML_READER_ENABLED
143  #endif
144  
145  /**
146   * LIBXML_PATTERN_ENABLED:
147   *
148   * Whether the xmlPattern node selection interface is configured in
149   */
150  #if @WITH_PATTERN@
151  #define LIBXML_PATTERN_ENABLED
152  #endif
153  
154  /**
155   * LIBXML_WRITER_ENABLED:
156   *
157   * Whether the xmlWriter saving interface is configured in
158   */
159  #if @WITH_WRITER@
160  #define LIBXML_WRITER_ENABLED
161  #endif
162  
163  /**
164   * LIBXML_SAX1_ENABLED:
165   *
166   * Whether the older SAX1 interface is configured in
167   */
168  #if @WITH_SAX1@
169  #define LIBXML_SAX1_ENABLED
170  #endif
171  
172  /**
173   * LIBXML_FTP_ENABLED:
174   *
175   * Whether the FTP support is configured in
176   */
177  #if @WITH_FTP@
178  #define LIBXML_FTP_ENABLED
179  #endif
180  
181  /**
182   * LIBXML_HTTP_ENABLED:
183   *
184   * Whether the HTTP support is configured in
185   */
186  #if @WITH_HTTP@
187  #define LIBXML_HTTP_ENABLED
188  #endif
189  
190  /**
191   * LIBXML_VALID_ENABLED:
192   *
193   * Whether the DTD validation support is configured in
194   */
195  #if @WITH_VALID@
196  #define LIBXML_VALID_ENABLED
197  #endif
198  
199  /**
200   * LIBXML_HTML_ENABLED:
201   *
202   * Whether the HTML support is configured in
203   */
204  #if @WITH_HTML@
205  #define LIBXML_HTML_ENABLED
206  #endif
207  
208  /**
209   * LIBXML_LEGACY_ENABLED:
210   *
211   * Whether the deprecated APIs are compiled in for compatibility
212   */
213  #if @WITH_LEGACY@
214  #define LIBXML_LEGACY_ENABLED
215  #endif
216  
217  /**
218   * LIBXML_C14N_ENABLED:
219   *
220   * Whether the Canonicalization support is configured in
221   */
222  #if @WITH_C14N@
223  #define LIBXML_C14N_ENABLED
224  #endif
225  
226  /**
227   * LIBXML_CATALOG_ENABLED:
228   *
229   * Whether the Catalog support is configured in
230   */
231  #if @WITH_CATALOG@
232  #define LIBXML_CATALOG_ENABLED
233  #endif
234  
235  /**
236   * LIBXML_DOCB_ENABLED:
237   *
238   * Whether the SGML Docbook support is configured in
239   */
240  #if @WITH_DOCB@
241  #define LIBXML_DOCB_ENABLED
242  #endif
243  
244  /**
245   * LIBXML_XPATH_ENABLED:
246   *
247   * Whether XPath is configured in
248   */
249  #if @WITH_XPATH@
250  #define LIBXML_XPATH_ENABLED
251  #endif
252  
253  /**
254   * LIBXML_XPTR_ENABLED:
255   *
256   * Whether XPointer is configured in
257   */
258  #if @WITH_XPTR@
259  #define LIBXML_XPTR_ENABLED
260  #endif
261  
262  /**
263   * LIBXML_XINCLUDE_ENABLED:
264   *
265   * Whether XInclude is configured in
266   */
267  #if @WITH_XINCLUDE@
268  #define LIBXML_XINCLUDE_ENABLED
269  #endif
270  
271  /**
272   * LIBXML_ICONV_ENABLED:
273   *
274   * Whether iconv support is available
275   */
276  #if @WITH_ICONV@
277  #define LIBXML_ICONV_ENABLED
278  #endif
279  
280  /**
281   * LIBXML_ICU_ENABLED:
282   *
283   * Whether icu support is available
284   */
285  #if @WITH_ICU@
286  #define LIBXML_ICU_ENABLED
287  #endif
288  
289  /**
290   * LIBXML_ISO8859X_ENABLED:
291   *
292   * Whether ISO-8859-* support is made available in case iconv is not
293   */
294  #if @WITH_ISO8859X@
295  #define LIBXML_ISO8859X_ENABLED
296  #endif
297  
298  /**
299   * LIBXML_DEBUG_ENABLED:
300   *
301   * Whether Debugging module is configured in
302   */
303  #if @WITH_DEBUG@
304  #define LIBXML_DEBUG_ENABLED
305  #endif
306  
307  /**
308   * DEBUG_MEMORY_LOCATION:
309   *
310   * Whether the memory debugging is configured in
311   */
312  #if @WITH_MEM_DEBUG@
313  #define DEBUG_MEMORY_LOCATION
314  #endif
315  
316  /**
317   * LIBXML_DEBUG_RUNTIME:
318   *
319   * Whether the runtime debugging is configured in
320   */
321  #if @WITH_RUN_DEBUG@
322  #define LIBXML_DEBUG_RUNTIME
323  #endif
324  
325  /**
326   * LIBXML_UNICODE_ENABLED:
327   *
328   * Whether the Unicode related interfaces are compiled in
329   */
330  #if @WITH_REGEXPS@
331  #define LIBXML_UNICODE_ENABLED
332  #endif
333  
334  /**
335   * LIBXML_REGEXP_ENABLED:
336   *
337   * Whether the regular expressions interfaces are compiled in
338   */
339  #if @WITH_REGEXPS@
340  #define LIBXML_REGEXP_ENABLED
341  #endif
342  
343  /**
344   * LIBXML_AUTOMATA_ENABLED:
345   *
346   * Whether the automata interfaces are compiled in
347   */
348  #if @WITH_REGEXPS@
349  #define LIBXML_AUTOMATA_ENABLED
350  #endif
351  
352  /**
353   * LIBXML_EXPR_ENABLED:
354   *
355   * Whether the formal expressions interfaces are compiled in
356   */
357  #if @WITH_SCHEMAS@
358  #define LIBXML_EXPR_ENABLED
359  #endif
360  
361  /**
362   * LIBXML_SCHEMAS_ENABLED:
363   *
364   * Whether the Schemas validation interfaces are compiled in
365   */
366  #if @WITH_SCHEMAS@
367  #define LIBXML_SCHEMAS_ENABLED
368  #endif
369  
370  /**
371   * LIBXML_SCHEMATRON_ENABLED:
372   *
373   * Whether the Schematron validation interfaces are compiled in
374   */
375  #if @WITH_SCHEMATRON@
376  #define LIBXML_SCHEMATRON_ENABLED
377  #endif
378  
379  /**
380   * LIBXML_MODULES_ENABLED:
381   *
382   * Whether the module interfaces are compiled in
383   */
384  #if @WITH_MODULES@
385  #define LIBXML_MODULES_ENABLED
386  /**
387   * LIBXML_MODULE_EXTENSION:
388   *
389   * the string suffix used by dynamic modules (usually shared libraries)
390   */
391  #define LIBXML_MODULE_EXTENSION "@MODULE_EXTENSION@" 
392  #endif
393  
394  /**
395   * LIBXML_ZLIB_ENABLED:
396   *
397   * Whether the Zlib support is compiled in
398   */
399  #if @WITH_ZLIB@
400  #define LIBXML_ZLIB_ENABLED
401  #endif
402  
403  /**
404   * LIBXML_LZMA_ENABLED:
405   *
406   * Whether the Lzma support is compiled in
407   */
408  #if @WITH_LZMA@
409  #define LIBXML_LZMA_ENABLED
410  #endif
411  
412  #ifdef __GNUC__
413  #ifdef HAVE_ANSIDECL_H
414  #include <ansidecl.h>
415  #endif
416  
417  /**
418   * ATTRIBUTE_UNUSED:
419   *
420   * Macro used to signal to GCC unused function parameters
421   */
422  
423  #ifndef ATTRIBUTE_UNUSED
424  # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
425  #  define ATTRIBUTE_UNUSED __attribute__((unused))
426  # else
427  #  define ATTRIBUTE_UNUSED
428  # endif
429  #endif
430  
431  /**
432   * LIBXML_ATTR_ALLOC_SIZE:
433   *
434   * Macro used to indicate to GCC this is an allocator function
435   */
436  
437  #ifndef LIBXML_ATTR_ALLOC_SIZE
438  # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
439  #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
440  # else
441  #  define LIBXML_ATTR_ALLOC_SIZE(x)
442  # endif
443  #else
444  # undef LIBXML_ATTR_ALLOC_SIZE(x)
445  # define LIBXML_ATTR_ALLOC_SIZE(x)
446  #endif
447  
448  /**
449   * LIBXML_ATTR_FORMAT:
450   *
451   * Macro used to indicate to GCC the parameter are printf like
452   */
453  
454  #ifndef LIBXML_ATTR_FORMAT
455  # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
456  #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
457  # else
458  #  define LIBXML_ATTR_FORMAT(fmt,args)
459  # endif
460  #else
461  # undef LIBXML_ATTR_FORMAT(fmt,args)
462  # define LIBXML_ATTR_FORMAT(fmt,args)
463  #endif
464  
465  #else /* ! __GNUC__ */
466  /**
467   * ATTRIBUTE_UNUSED:
468   *
469   * Macro used to signal to GCC unused function parameters
470   */
471  #define ATTRIBUTE_UNUSED
472  /**
473   * LIBXML_ATTR_ALLOC_SIZE:
474   *
475   * Macro used to indicate to GCC this is an allocator function
476   */
477  #define LIBXML_ATTR_ALLOC_SIZE(x)
478  /**
479   * LIBXML_ATTR_FORMAT:
480   *
481   * Macro used to indicate to GCC the parameter are printf like
482   */
483  #define LIBXML_ATTR_FORMAT(fmt,args)
484  #endif /* __GNUC__ */
485  
486  #ifdef __cplusplus
487  }
488  #endif /* __cplusplus */
489  #endif
490  
491