You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

486 lines
7.9 KiB

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