blob: 520728582c8dad813b8511136d65c22d1a422a50 [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
54/**
55 * WITH_TRIO:
56 *
57 * Whether the trio support need to be configured in
58 */
59#if 0
60#define WITH_TRIO
Daniel Veillardf7f41852001-06-22 15:18:01 +000061#endif
62
63/**
64 * LIBXML_FTP_ENABLED:
65 *
66 * Whether the FTP support is configured in
67 */
68#if 1
69#define LIBXML_FTP_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000070#endif
71
72/**
73 * LIBXML_HTTP_ENABLED:
74 *
75 * Whether the HTTP support is configured in
76 */
77#if 1
78#define LIBXML_HTTP_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000079#endif
80
81/**
82 * LIBXML_HTML_ENABLED:
83 *
84 * Whether the HTML support is configured in
85 */
86#if 1
87#define LIBXML_HTML_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000088#endif
89
90/**
91 * LIBXML_CATALOG_ENABLED:
92 *
93 * Whether the Catalog support is configured in
94 */
95#if 1
96#define LIBXML_CATALOG_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +000097#endif
98
99/**
100 * LIBXML_DOCB_ENABLED:
101 *
102 * Whether the SGML Docbook support is configured in
103 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000104#if 1
Daniel Veillardf7f41852001-06-22 15:18:01 +0000105#define LIBXML_DOCB_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000106#endif
107
108/**
109 * LIBXML_XPATH_ENABLED:
110 *
111 * Whether XPath is configured in
112 */
113#if 1
114#define LIBXML_XPATH_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000115#endif
116
117/**
118 * LIBXML_XPTR_ENABLED:
119 *
120 * Whether XPointer is configured in
121 */
122#if 1
123#define LIBXML_XPTR_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000124#endif
125
126/**
127 * LIBXML_XINCLUDE_ENABLED:
128 *
129 * Whether XInclude is configured in
130 */
131#if 1
132#define LIBXML_XINCLUDE_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000133#endif
134
135/**
136 * LIBXML_ICONV_ENABLED:
137 *
138 * Whether iconv support is available
139 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000140#if !defined(WIN32) || defined(__CYGWIN__)
141#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +0000142#define LIBXML_ICONV_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000143#endif
144#endif
145
146/**
147 * LIBXML_DEBUG_ENABLED:
148 *
149 * Whether Debugging module is configured in
150 */
151#if 1
152#define LIBXML_DEBUG_ENABLED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000153#endif
154
155/**
156 * DEBUG_MEMORY_LOCATION:
157 *
158 * Whether the memory debugging is configured in
159 */
Daniel Veillard07385fd2001-06-23 21:55:48 +0000160#if 0
Daniel Veillardf7f41852001-06-22 15:18:01 +0000161#define DEBUG_MEMORY_LOCATION
162#endif
163
Daniel Veillard50f34372001-08-03 12:06:36 +0000164/**
165 * LIBXML_DLL_IMPORT:
166 *
167 * Used on Windows (MS C compiler only) to declare a variable as
168 * imported from the library. This macro should be empty when compiling
169 * libxml itself. It should expand to __declspec(dllimport)
170 * when the client code includes this header, and that only if the client
171 * links dynamically against libxml.
172 * For this to work, we need three macros. One tells us which compiler is
173 * being used and luckily the compiler defines such a thing: _MSC_VER. The
174 * second macro tells us if we are compiling libxml or the client code and
175 * we define the macro IN_LIBXML on the compiler's command line for this
176 * purpose. The third macro, LIBXML_STATIC, must be defined by any client
177 * code which links against libxml statically.
178 */
Daniel Veillardf7f41852001-06-22 15:18:01 +0000179#ifndef LIBXML_DLL_IMPORT
Daniel Veillard50f34372001-08-03 12:06:36 +0000180#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
Daniel Veillardf7f41852001-06-22 15:18:01 +0000181#define LIBXML_DLL_IMPORT __declspec(dllimport)
182#else
183#define LIBXML_DLL_IMPORT
184#endif
185#endif
186
187/**
188 * ATTRIBUTE_UNUSED:
189 *
190 * Macro used to signal to GCC unused function parameters
191 */
Daniel Veillard50f34372001-08-03 12:06:36 +0000192#ifdef __GNUC__
193#ifdef HAVE_ANSIDECL_H
194#include <ansidecl.h>
195#endif
196#ifndef ATTRIBUTE_UNUSED
Daniel Veillardf7f41852001-06-22 15:18:01 +0000197#define ATTRIBUTE_UNUSED
Daniel Veillard50f34372001-08-03 12:06:36 +0000198#endif
199#else
200#define ATTRIBUTE_UNUSED
201#endif
Daniel Veillardf7f41852001-06-22 15:18:01 +0000202
203#ifdef __cplusplus
204}
205#endif /* __cplusplus */
206#endif