blob: d305851f1234c9ce59c43d75da7ed430ff7b0ed1 [file] [log] [blame]
Daniel Veillardf7f41852001-06-22 15:18:01 +00001/*
Daniel Veillardc5d64342001-06-24 12:13:24 +00002 * xmlwin32version.h : compile-time version informations for the XML parser
3 * when compiled on the Windows platform
Daniel Veillardf7f41852001-06-22 15:18:01 +00004 *
5 * See Copyright for the status of this software.
6 *
Daniel Veillardc5d64342001-06-24 12:13:24 +00007 * daniel@veillard.com
Daniel Veillardf7f41852001-06-22 15:18:01 +00008 */
9
10#ifndef __XML_VERSION_H__
11#define __XML_VERSION_H__
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*
18 * use those to be sure nothing nasty will happen if
19 * your library and includes mismatch
20 */
Daniel Veillard50f34372001-08-03 12:06:36 +000021#ifndef LIBXML2_COMPILING_MSCCDEF
Daniel Veillard05dec342001-07-14 21:57:39 +000022extern void xmlCheckVersion(int version);
Daniel Veillard50f34372001-08-03 12:06:36 +000023#endif /* LIBXML2_COMPILING_MSCCDEF */
24
25/**
26 * LIBXML_DOTTED_VERSION:
27 *
28 * the version string like "1.2.3"
29 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000030#define LIBXML_DOTTED_VERSION "@VERSION@"
Daniel Veillard50f34372001-08-03 12:06:36 +000031
32/**
33 * LIBXML_VERSION:
34 *
35 * the version number: 1.2.3 value is 1002003
36 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000037#define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
Daniel Veillard50f34372001-08-03 12:06:36 +000038
39/**
40 * LIBXML_VERSION_STRING:
41 *
42 * the version number string, 1.2.3 value is "1002003"
43 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000044#define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
Daniel Veillard50f34372001-08-03 12:06:36 +000045
46/**
47 * LIBXML_TEST_VERSION:
48 *
49 * Macro to check that the libxml version in use is compatible with
50 * the version the software has been compiled against
51 */
Daniel Veillardc5d64342001-06-24 12:13:24 +000052#define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
Daniel Veillardf7f41852001-06-22 15:18:01 +000053
Daniel Veillard7cf5e442001-09-10 20:16:32 +000054#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +000055/**
56 * WITH_TRIO:
57 *
Daniel Veillard7cf5e442001-09-10 20:16:32 +000058 * defined if the trio support need to be configured in
Daniel Veillardf7f41852001-06-22 15:18:01 +000059 */
Daniel Veillardf7f41852001-06-22 15:18:01 +000060#define WITH_TRIO
Daniel Veillard7cf5e442001-09-10 20:16:32 +000061#else
62/**
63 * WITHOUT_TRIO:
64 *
65 * defined if the trio support should not be configured in
66 */
67#define WITHOUT_TRIO
Daniel Veillardf7f41852001-06-22 15:18:01 +000068#endif
69
70/**
71 * LIBXML_FTP_ENABLED:
72 *
73 * Whether the FTP support is configured in
74 */
75#if 1
76#define LIBXML_FTP_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000077#endif
78
79/**
80 * LIBXML_HTTP_ENABLED:
81 *
82 * Whether the HTTP support is configured in
83 */
84#if 1
85#define LIBXML_HTTP_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000086#endif
87
88/**
89 * LIBXML_HTML_ENABLED:
90 *
91 * Whether the HTML support is configured in
92 */
93#if 1
94#define LIBXML_HTML_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000095#endif
96
97/**
98 * LIBXML_CATALOG_ENABLED:
99 *
100 * Whether the Catalog support is configured in
101 */
102#if 1
103#define LIBXML_CATALOG_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000104#endif
105
106/**
107 * LIBXML_DOCB_ENABLED:
108 *
109 * Whether the SGML Docbook support is configured in
110 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000111#if 1
Daniel Veillardf7f41852001-06-22 15:18:01 +0000112#define LIBXML_DOCB_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000113#endif
114
115/**
116 * LIBXML_XPATH_ENABLED:
117 *
118 * Whether XPath is configured in
119 */
120#if 1
121#define LIBXML_XPATH_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000122#endif
123
124/**
125 * LIBXML_XPTR_ENABLED:
126 *
127 * Whether XPointer is configured in
128 */
129#if 1
130#define LIBXML_XPTR_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000131#endif
132
133/**
134 * LIBXML_XINCLUDE_ENABLED:
135 *
136 * Whether XInclude is configured in
137 */
138#if 1
139#define LIBXML_XINCLUDE_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000140#endif
141
142/**
143 * LIBXML_ICONV_ENABLED:
144 *
145 * Whether iconv support is available
146 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000147#if !defined(WIN32) || defined(__CYGWIN__)
148#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +0000149#define LIBXML_ICONV_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000150#endif
151#endif
152
153/**
154 * LIBXML_DEBUG_ENABLED:
155 *
156 * Whether Debugging module is configured in
157 */
158#if 1
159#define LIBXML_DEBUG_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000160#endif
161
162/**
163 * DEBUG_MEMORY_LOCATION:
164 *
165 * Whether the memory debugging is configured in
166 */
Daniel Veillard07385fd2001-06-23 21:55:48 +0000167#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +0000168#define DEBUG_MEMORY_LOCATION
169#endif
170
Daniel Veillard50f34372001-08-03 12:06:36 +0000171/**
172 * LIBXML_DLL_IMPORT:
173 *
174 * Used on Windows (MS C compiler only) to declare a variable as
175 * imported from the library. This macro should be empty when compiling
176 * libxml itself. It should expand to __declspec(dllimport)
177 * when the client code includes this header, and that only if the client
178 * links dynamically against libxml.
179 * For this to work, we need three macros. One tells us which compiler is
180 * being used and luckily the compiler defines such a thing: _MSC_VER. The
181 * second macro tells us if we are compiling libxml or the client code and
182 * we define the macro IN_LIBXML on the compiler's command line for this
183 * purpose. The third macro, LIBXML_STATIC, must be defined by any client
184 * code which links against libxml statically.
185 */
Daniel Veillardf7f41852001-06-22 15:18:01 +0000186#ifndef LIBXML_DLL_IMPORT
Daniel Veillard50f34372001-08-03 12:06:36 +0000187#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
Daniel Veillardf7f41852001-06-22 15:18:01 +0000188#define LIBXML_DLL_IMPORT __declspec(dllimport)
189#else
190#define LIBXML_DLL_IMPORT
191#endif
192#endif
193
194/**
195 * ATTRIBUTE_UNUSED:
196 *
197 * Macro used to signal to GCC unused function parameters
198 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000199#ifdef __GNUC__
200#ifdef HAVE_ANSIDECL_H
201#include <ansidecl.h>
202#endif
203#ifndef ATTRIBUTE_UNUSED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000204#define ATTRIBUTE_UNUSED
Daniel Veillard50f34372001-08-03 12:06:36 +0000205#endif
206#else
207#define ATTRIBUTE_UNUSED
208#endif
Daniel Veillardf7f41852001-06-22 15:18:01 +0000209
210#ifdef __cplusplus
211}
212#endif /* __cplusplus */
213#endif