1 /* libxml2 - Library for parsing XML documents
2  * Copyright (C) 2006-2019 Free Software Foundation, Inc.
3  *
4  * This file is not part of the GNU gettext program, but is used with
5  * GNU gettext.
6  *
7  * The original copyright notice is as follows:
8  */
9 
10 /*
11  * Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
12  *
13  * Permission is hereby granted, free of charge, to any person obtaining a copy
14  * of this software and associated documentation files (the "Software"), to deal
15  * in the Software without restriction, including without limitation the rights
16  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17  * copies of the Software, and to permit persons to whom the Software is fur-
18  * nished to do so, subject to the following conditions:
19  *
20  * The above copyright notice and this permission notice shall be included in
21  * all copies or substantial portions of the Software.
22  *
23  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
25  * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
26  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29  * THE SOFTWARE.
30  *
31  * Author: Daniel Veillard
32  */
33 
34 /*
35  * Summary: compile-time version informations
36  * Description: compile-time version informations for the XML library
37  */
38 
39 #ifndef __XML_VERSION_H__
40 #define __XML_VERSION_H__
41 
42 #include <libxml/xmlexports.h>
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 /*
49  * use those to be sure nothing nasty will happen if
50  * your library and includes mismatch
51  */
52 #ifndef LIBXML2_COMPILING_MSCCDEF
53 XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
54 #endif /* LIBXML2_COMPILING_MSCCDEF */
55 
56 /**
57  * LIBXML_DOTTED_VERSION:
58  *
59  * the version string like "1.2.3"
60  */
61 #define LIBXML_DOTTED_VERSION "2.9.9"
62 
63 /**
64  * LIBXML_VERSION:
65  *
66  * the version number: 1.2.3 value is 10203
67  */
68 #define LIBXML_VERSION 20909
69 
70 /**
71  * LIBXML_VERSION_STRING:
72  *
73  * the version number string, 1.2.3 value is "10203"
74  */
75 #define LIBXML_VERSION_STRING "20909"
76 
77 /**
78  * LIBXML_VERSION_EXTRA:
79  *
80  * extra version information, used to show a CVS compilation
81  */
82 #define LIBXML_VERSION_EXTRA "-GITv2.9.9-rc2-2-g7c4949afa"
83 
84 /**
85  * LIBXML_TEST_VERSION:
86  *
87  * Macro to check that the libxml version in use is compatible with
88  * the version the software has been compiled against
89  */
90 #define LIBXML_TEST_VERSION xmlCheckVersion(20909);
91 
92 #ifndef VMS
93 #if 0
94 /**
95  * WITH_TRIO:
96  *
97  * defined if the trio support need to be configured in
98  */
99 #define WITH_TRIO
100 #else
101 /**
102  * WITHOUT_TRIO:
103  *
104  * defined if the trio support should not be configured in
105  */
106 #define WITHOUT_TRIO
107 #endif
108 #else /* VMS */
109 /**
110  * WITH_TRIO:
111  *
112  * defined if the trio support need to be configured in
113  */
114 #define WITH_TRIO 1
115 #endif /* VMS */
116 
117 /**
118  * LIBXML_THREAD_ENABLED:
119  *
120  * Whether the thread support is configured in
121  */
122 #if 0
123 #if defined(_REENTRANT) || defined(__MT__) || \
124     (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))
125 #define LIBXML_THREAD_ENABLED
126 #endif
127 #endif
128 
129 /**
130  * LIBXML_THREAD_ALLOC_ENABLED:
131  *
132  * Whether the allocation hooks are per-thread
133  */
134 #if 0
135 #define LIBXML_THREAD_ALLOC_ENABLED
136 #endif
137 
138 /**
139  * LIBXML_TREE_ENABLED:
140  *
141  * Whether the DOM like tree manipulation API support is configured in
142  */
143 #if 1
144 #define LIBXML_TREE_ENABLED
145 #endif
146 
147 /**
148  * LIBXML_OUTPUT_ENABLED:
149  *
150  * Whether the serialization/saving support is configured in
151  */
152 #if 1
153 #define LIBXML_OUTPUT_ENABLED
154 #endif
155 
156 /**
157  * LIBXML_PUSH_ENABLED:
158  *
159  * Whether the push parsing interfaces are configured in
160  */
161 #if 1
162 #define LIBXML_PUSH_ENABLED
163 #endif
164 
165 /**
166  * LIBXML_READER_ENABLED:
167  *
168  * Whether the xmlReader parsing interface is configured in
169  */
170 #if 1
171 #define LIBXML_READER_ENABLED
172 #endif
173 
174 /**
175  * LIBXML_PATTERN_ENABLED:
176  *
177  * Whether the xmlPattern node selection interface is configured in
178  */
179 #if 0
180 #define LIBXML_PATTERN_ENABLED
181 #endif
182 
183 /**
184  * LIBXML_WRITER_ENABLED:
185  *
186  * Whether the xmlWriter saving interface is configured in
187  */
188 #if 1
189 #define LIBXML_WRITER_ENABLED
190 #endif
191 
192 /**
193  * LIBXML_SAX1_ENABLED:
194  *
195  * Whether the older SAX1 interface is configured in
196  */
197 #if 0
198 #define LIBXML_SAX1_ENABLED
199 #endif
200 
201 /**
202  * LIBXML_FTP_ENABLED:
203  *
204  * Whether the FTP support is configured in
205  */
206 #if 0
207 #define LIBXML_FTP_ENABLED
208 #endif
209 
210 /**
211  * LIBXML_HTTP_ENABLED:
212  *
213  * Whether the HTTP support is configured in
214  */
215 #if 0
216 #define LIBXML_HTTP_ENABLED
217 #endif
218 
219 /**
220  * LIBXML_VALID_ENABLED:
221  *
222  * Whether the DTD validation support is configured in
223  */
224 #if 0
225 #define LIBXML_VALID_ENABLED
226 #endif
227 
228 /**
229  * LIBXML_HTML_ENABLED:
230  *
231  * Whether the HTML support is configured in
232  */
233 #if 0
234 #define LIBXML_HTML_ENABLED
235 #endif
236 
237 /**
238  * LIBXML_LEGACY_ENABLED:
239  *
240  * Whether the deprecated APIs are compiled in for compatibility
241  */
242 #if 0
243 #define LIBXML_LEGACY_ENABLED
244 #endif
245 
246 /**
247  * LIBXML_C14N_ENABLED:
248  *
249  * Whether the Canonicalization support is configured in
250  */
251 #if 0
252 #define LIBXML_C14N_ENABLED
253 #endif
254 
255 /**
256  * LIBXML_CATALOG_ENABLED:
257  *
258  * Whether the Catalog support is configured in
259  */
260 #if 0
261 #define LIBXML_CATALOG_ENABLED
262 #endif
263 
264 /**
265  * LIBXML_DOCB_ENABLED:
266  *
267  * Whether the SGML Docbook support is configured in
268  */
269 #if 0
270 #define LIBXML_DOCB_ENABLED
271 #endif
272 
273 /**
274  * LIBXML_XPATH_ENABLED:
275  *
276  * Whether XPath is configured in
277  */
278 #if 1
279 #define LIBXML_XPATH_ENABLED
280 #endif
281 
282 /**
283  * LIBXML_XPTR_ENABLED:
284  *
285  * Whether XPointer is configured in
286  */
287 #if 1
288 #define LIBXML_XPTR_ENABLED
289 #endif
290 
291 /**
292  * LIBXML_XINCLUDE_ENABLED:
293  *
294  * Whether XInclude is configured in
295  */
296 #if 0
297 #define LIBXML_XINCLUDE_ENABLED
298 #endif
299 
300 /**
301  * LIBXML_ICONV_ENABLED:
302  *
303  * Whether iconv support is available
304  */
305 #if 1
306 #define LIBXML_ICONV_ENABLED
307 #endif
308 
309 /**
310  * LIBXML_ICU_ENABLED:
311  *
312  * Whether icu support is available
313  */
314 #if 0
315 #define LIBXML_ICU_ENABLED
316 #endif
317 
318 /**
319  * LIBXML_ISO8859X_ENABLED:
320  *
321  * Whether ISO-8859-* support is made available in case iconv is not
322  */
323 #if 1
324 #define LIBXML_ISO8859X_ENABLED
325 #endif
326 
327 /**
328  * LIBXML_DEBUG_ENABLED:
329  *
330  * Whether Debugging module is configured in
331  */
332 #if 0
333 #define LIBXML_DEBUG_ENABLED
334 #endif
335 
336 /**
337  * DEBUG_MEMORY_LOCATION:
338  *
339  * Whether the memory debugging is configured in
340  */
341 #if 0
342 #define DEBUG_MEMORY_LOCATION
343 #endif
344 
345 /**
346  * LIBXML_DEBUG_RUNTIME:
347  *
348  * Whether the runtime debugging is configured in
349  */
350 #if 0
351 #define LIBXML_DEBUG_RUNTIME
352 #endif
353 
354 /**
355  * LIBXML_UNICODE_ENABLED:
356  *
357  * Whether the Unicode related interfaces are compiled in
358  */
359 #if 0
360 #define LIBXML_UNICODE_ENABLED
361 #endif
362 
363 /**
364  * LIBXML_REGEXP_ENABLED:
365  *
366  * Whether the regular expressions interfaces are compiled in
367  */
368 #if 0
369 #define LIBXML_REGEXP_ENABLED
370 #endif
371 
372 /**
373  * LIBXML_AUTOMATA_ENABLED:
374  *
375  * Whether the automata interfaces are compiled in
376  */
377 #if 0
378 #define LIBXML_AUTOMATA_ENABLED
379 #endif
380 
381 /**
382  * LIBXML_EXPR_ENABLED:
383  *
384  * Whether the formal expressions interfaces are compiled in
385  */
386 #if 0
387 #define LIBXML_EXPR_ENABLED
388 #endif
389 
390 /**
391  * LIBXML_SCHEMAS_ENABLED:
392  *
393  * Whether the Schemas validation interfaces are compiled in
394  */
395 #if 0
396 #define LIBXML_SCHEMAS_ENABLED
397 #endif
398 
399 /**
400  * LIBXML_SCHEMATRON_ENABLED:
401  *
402  * Whether the Schematron validation interfaces are compiled in
403  */
404 #if 0
405 #define LIBXML_SCHEMATRON_ENABLED
406 #endif
407 
408 /**
409  * LIBXML_MODULES_ENABLED:
410  *
411  * Whether the module interfaces are compiled in
412  */
413 #if 0
414 #define LIBXML_MODULES_ENABLED
415 /**
416  * LIBXML_MODULE_EXTENSION:
417  *
418  * the string suffix used by dynamic modules (usually shared libraries)
419  */
420 #define LIBXML_MODULE_EXTENSION ".so"
421 #endif
422 
423 /**
424  * LIBXML_ZLIB_ENABLED:
425  *
426  * Whether the Zlib support is compiled in
427  */
428 #if 0
429 #define LIBXML_ZLIB_ENABLED
430 #endif
431 
432 /**
433  * LIBXML_LZMA_ENABLED:
434  *
435  * Whether the Lzma support is compiled in
436  */
437 #if 0
438 #define LIBXML_LZMA_ENABLED
439 #endif
440 
441 #ifdef __GNUC__
442 
443 /**
444  * ATTRIBUTE_UNUSED:
445  *
446  * Macro used to signal to GCC unused function parameters
447  */
448 
449 #ifndef ATTRIBUTE_UNUSED
450 # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
451 #  define ATTRIBUTE_UNUSED __attribute__((unused))
452 # else
453 #  define ATTRIBUTE_UNUSED
454 # endif
455 #endif
456 
457 /**
458  * LIBXML_ATTR_ALLOC_SIZE:
459  *
460  * Macro used to indicate to GCC this is an allocator function
461  */
462 
463 #ifndef LIBXML_ATTR_ALLOC_SIZE
464 # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
465 #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
466 # else
467 #  define LIBXML_ATTR_ALLOC_SIZE(x)
468 # endif
469 #else
470 # define LIBXML_ATTR_ALLOC_SIZE(x)
471 #endif
472 
473 /**
474  * LIBXML_ATTR_FORMAT:
475  *
476  * Macro used to indicate to GCC the parameter are printf like
477  */
478 
479 #ifndef LIBXML_ATTR_FORMAT
480 # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
481 #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
482 # else
483 #  define LIBXML_ATTR_FORMAT(fmt,args)
484 # endif
485 #else
486 # define LIBXML_ATTR_FORMAT(fmt,args)
487 #endif
488 
489 #else /* ! __GNUC__ */
490 /**
491  * ATTRIBUTE_UNUSED:
492  *
493  * Macro used to signal to GCC unused function parameters
494  */
495 #define ATTRIBUTE_UNUSED
496 /**
497  * LIBXML_ATTR_ALLOC_SIZE:
498  *
499  * Macro used to indicate to GCC this is an allocator function
500  */
501 #define LIBXML_ATTR_ALLOC_SIZE(x)
502 /**
503  * LIBXML_ATTR_FORMAT:
504  *
505  * Macro used to indicate to GCC the parameter are printf like
506  */
507 #define LIBXML_ATTR_FORMAT(fmt,args)
508 #endif /* __GNUC__ */
509 
510 #ifdef __cplusplus
511 }
512 #endif /* __cplusplus */
513 #endif
514 
515 
516