mirror of
				https://gitlab.gnome.org/GNOME/libxml2.git
				synced 2025-10-28 23:14:57 +03:00 
			
		
		
		
	When libxml2 is compiled with threads enabled, have the header file define LIBXML_THREAD_ENABLED even if the subsequent application by itself does not enable threads. Otherwise, the application would see the unthreaded API functions, but these are not exported (where it does make a difference, like on Win32 based platforms).
		
			
				
	
	
		
			484 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			484 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Summary: compile-time version informations
 | |
|  * Description: compile-time version informations for the XML library
 | |
|  *
 | |
|  * Copy: See Copyright for the status of this software.
 | |
|  *
 | |
|  * Author: Daniel Veillard
 | |
|  */
 | |
| 
 | |
| #ifndef __XML_VERSION_H__
 | |
| #define __XML_VERSION_H__
 | |
| 
 | |
| #include <libxml/xmlexports.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * use those to be sure nothing nasty will happen if
 | |
|  * your library and includes mismatch
 | |
|  */
 | |
| #ifndef LIBXML2_COMPILING_MSCCDEF
 | |
| XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
 | |
| #endif /* LIBXML2_COMPILING_MSCCDEF */
 | |
| 
 | |
| /**
 | |
|  * LIBXML_DOTTED_VERSION:
 | |
|  *
 | |
|  * the version string like "1.2.3"
 | |
|  */
 | |
| #define LIBXML_DOTTED_VERSION "@VERSION@"
 | |
| 
 | |
| /**
 | |
|  * LIBXML_VERSION:
 | |
|  *
 | |
|  * the version number: 1.2.3 value is 10203
 | |
|  */
 | |
| #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
 | |
| 
 | |
| /**
 | |
|  * LIBXML_VERSION_STRING:
 | |
|  *
 | |
|  * the version number string, 1.2.3 value is "10203"
 | |
|  */
 | |
| #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
 | |
| 
 | |
| /**
 | |
|  * LIBXML_VERSION_EXTRA:
 | |
|  *
 | |
|  * extra version information, used to show a CVS compilation
 | |
|  */
 | |
| #define LIBXML_VERSION_EXTRA "@LIBXML_VERSION_EXTRA@"
 | |
| 
 | |
| /**
 | |
|  * LIBXML_TEST_VERSION:
 | |
|  *
 | |
|  * Macro to check that the libxml version in use is compatible with
 | |
|  * the version the software has been compiled against
 | |
|  */
 | |
| #define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
 | |
| 
 | |
| #ifndef VMS
 | |
| #if @WITH_TRIO@
 | |
| /**
 | |
|  * WITH_TRIO:
 | |
|  *
 | |
|  * defined if the trio support need to be configured in
 | |
|  */
 | |
| #define WITH_TRIO
 | |
| #else
 | |
| /**
 | |
|  * WITHOUT_TRIO:
 | |
|  *
 | |
|  * defined if the trio support should not be configured in
 | |
|  */
 | |
| #define WITHOUT_TRIO
 | |
| #endif
 | |
| #else /* VMS */
 | |
| /**
 | |
|  * WITH_TRIO:
 | |
|  *
 | |
|  * defined if the trio support need to be configured in
 | |
|  */
 | |
| #define WITH_TRIO 1
 | |
| #endif /* VMS */
 | |
| 
 | |
| /**
 | |
|  * LIBXML_THREAD_ENABLED:
 | |
|  *
 | |
|  * Whether the thread support is configured in
 | |
|  */
 | |
| #if @WITH_THREADS@
 | |
| #define LIBXML_THREAD_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_THREAD_ALLOC_ENABLED:
 | |
|  *
 | |
|  * Whether the allocation hooks are per-thread
 | |
|  */
 | |
| #if @WITH_THREAD_ALLOC@
 | |
| #define LIBXML_THREAD_ALLOC_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_TREE_ENABLED:
 | |
|  *
 | |
|  * Whether the DOM like tree manipulation API support is configured in
 | |
|  */
 | |
| #if @WITH_TREE@
 | |
| #define LIBXML_TREE_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_OUTPUT_ENABLED:
 | |
|  *
 | |
|  * Whether the serialization/saving support is configured in
 | |
|  */
 | |
| #if @WITH_OUTPUT@
 | |
| #define LIBXML_OUTPUT_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_PUSH_ENABLED:
 | |
|  *
 | |
|  * Whether the push parsing interfaces are configured in
 | |
|  */
 | |
| #if @WITH_PUSH@
 | |
| #define LIBXML_PUSH_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_READER_ENABLED:
 | |
|  *
 | |
|  * Whether the xmlReader parsing interface is configured in
 | |
|  */
 | |
| #if @WITH_READER@
 | |
| #define LIBXML_READER_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_PATTERN_ENABLED:
 | |
|  *
 | |
|  * Whether the xmlPattern node selection interface is configured in
 | |
|  */
 | |
| #if @WITH_PATTERN@
 | |
| #define LIBXML_PATTERN_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_WRITER_ENABLED:
 | |
|  *
 | |
|  * Whether the xmlWriter saving interface is configured in
 | |
|  */
 | |
| #if @WITH_WRITER@
 | |
| #define LIBXML_WRITER_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_SAX1_ENABLED:
 | |
|  *
 | |
|  * Whether the older SAX1 interface is configured in
 | |
|  */
 | |
| #if @WITH_SAX1@
 | |
| #define LIBXML_SAX1_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_FTP_ENABLED:
 | |
|  *
 | |
|  * Whether the FTP support is configured in
 | |
|  */
 | |
| #if @WITH_FTP@
 | |
| #define LIBXML_FTP_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_HTTP_ENABLED:
 | |
|  *
 | |
|  * Whether the HTTP support is configured in
 | |
|  */
 | |
| #if @WITH_HTTP@
 | |
| #define LIBXML_HTTP_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_VALID_ENABLED:
 | |
|  *
 | |
|  * Whether the DTD validation support is configured in
 | |
|  */
 | |
| #if @WITH_VALID@
 | |
| #define LIBXML_VALID_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_HTML_ENABLED:
 | |
|  *
 | |
|  * Whether the HTML support is configured in
 | |
|  */
 | |
| #if @WITH_HTML@
 | |
| #define LIBXML_HTML_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_LEGACY_ENABLED:
 | |
|  *
 | |
|  * Whether the deprecated APIs are compiled in for compatibility
 | |
|  */
 | |
| #if @WITH_LEGACY@
 | |
| #define LIBXML_LEGACY_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_C14N_ENABLED:
 | |
|  *
 | |
|  * Whether the Canonicalization support is configured in
 | |
|  */
 | |
| #if @WITH_C14N@
 | |
| #define LIBXML_C14N_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_CATALOG_ENABLED:
 | |
|  *
 | |
|  * Whether the Catalog support is configured in
 | |
|  */
 | |
| #if @WITH_CATALOG@
 | |
| #define LIBXML_CATALOG_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_DOCB_ENABLED:
 | |
|  *
 | |
|  * Whether the SGML Docbook support is configured in
 | |
|  */
 | |
| #if @WITH_DOCB@
 | |
| #define LIBXML_DOCB_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_XPATH_ENABLED:
 | |
|  *
 | |
|  * Whether XPath is configured in
 | |
|  */
 | |
| #if @WITH_XPATH@
 | |
| #define LIBXML_XPATH_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_XPTR_ENABLED:
 | |
|  *
 | |
|  * Whether XPointer is configured in
 | |
|  */
 | |
| #if @WITH_XPTR@
 | |
| #define LIBXML_XPTR_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_XINCLUDE_ENABLED:
 | |
|  *
 | |
|  * Whether XInclude is configured in
 | |
|  */
 | |
| #if @WITH_XINCLUDE@
 | |
| #define LIBXML_XINCLUDE_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_ICONV_ENABLED:
 | |
|  *
 | |
|  * Whether iconv support is available
 | |
|  */
 | |
| #if @WITH_ICONV@
 | |
| #define LIBXML_ICONV_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_ICU_ENABLED:
 | |
|  *
 | |
|  * Whether icu support is available
 | |
|  */
 | |
| #if @WITH_ICU@
 | |
| #define LIBXML_ICU_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_ISO8859X_ENABLED:
 | |
|  *
 | |
|  * Whether ISO-8859-* support is made available in case iconv is not
 | |
|  */
 | |
| #if @WITH_ISO8859X@
 | |
| #define LIBXML_ISO8859X_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_DEBUG_ENABLED:
 | |
|  *
 | |
|  * Whether Debugging module is configured in
 | |
|  */
 | |
| #if @WITH_DEBUG@
 | |
| #define LIBXML_DEBUG_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * DEBUG_MEMORY_LOCATION:
 | |
|  *
 | |
|  * Whether the memory debugging is configured in
 | |
|  */
 | |
| #if @WITH_MEM_DEBUG@
 | |
| #define DEBUG_MEMORY_LOCATION
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_DEBUG_RUNTIME:
 | |
|  *
 | |
|  * Whether the runtime debugging is configured in
 | |
|  */
 | |
| #if @WITH_RUN_DEBUG@
 | |
| #define LIBXML_DEBUG_RUNTIME
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_UNICODE_ENABLED:
 | |
|  *
 | |
|  * Whether the Unicode related interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_REGEXPS@
 | |
| #define LIBXML_UNICODE_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_REGEXP_ENABLED:
 | |
|  *
 | |
|  * Whether the regular expressions interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_REGEXPS@
 | |
| #define LIBXML_REGEXP_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_AUTOMATA_ENABLED:
 | |
|  *
 | |
|  * Whether the automata interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_REGEXPS@
 | |
| #define LIBXML_AUTOMATA_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_EXPR_ENABLED:
 | |
|  *
 | |
|  * Whether the formal expressions interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_SCHEMAS@
 | |
| #define LIBXML_EXPR_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_SCHEMAS_ENABLED:
 | |
|  *
 | |
|  * Whether the Schemas validation interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_SCHEMAS@
 | |
| #define LIBXML_SCHEMAS_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_SCHEMATRON_ENABLED:
 | |
|  *
 | |
|  * Whether the Schematron validation interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_SCHEMATRON@
 | |
| #define LIBXML_SCHEMATRON_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_MODULES_ENABLED:
 | |
|  *
 | |
|  * Whether the module interfaces are compiled in
 | |
|  */
 | |
| #if @WITH_MODULES@
 | |
| #define LIBXML_MODULES_ENABLED
 | |
| /**
 | |
|  * LIBXML_MODULE_EXTENSION:
 | |
|  *
 | |
|  * the string suffix used by dynamic modules (usually shared libraries)
 | |
|  */
 | |
| #define LIBXML_MODULE_EXTENSION "@MODULE_EXTENSION@" 
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_ZLIB_ENABLED:
 | |
|  *
 | |
|  * Whether the Zlib support is compiled in
 | |
|  */
 | |
| #if @WITH_ZLIB@
 | |
| #define LIBXML_ZLIB_ENABLED
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_LZMA_ENABLED:
 | |
|  *
 | |
|  * Whether the Lzma support is compiled in
 | |
|  */
 | |
| #if @WITH_LZMA@
 | |
| #define LIBXML_LZMA_ENABLED
 | |
| #endif
 | |
| 
 | |
| #ifdef __GNUC__
 | |
| 
 | |
| /**
 | |
|  * ATTRIBUTE_UNUSED:
 | |
|  *
 | |
|  * Macro used to signal to GCC unused function parameters
 | |
|  */
 | |
| 
 | |
| #ifndef ATTRIBUTE_UNUSED
 | |
| # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
 | |
| #  define ATTRIBUTE_UNUSED __attribute__((unused))
 | |
| # else
 | |
| #  define ATTRIBUTE_UNUSED
 | |
| # endif
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_ATTR_ALLOC_SIZE:
 | |
|  *
 | |
|  * Macro used to indicate to GCC this is an allocator function
 | |
|  */
 | |
| 
 | |
| #ifndef LIBXML_ATTR_ALLOC_SIZE
 | |
| # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
 | |
| #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
 | |
| # else
 | |
| #  define LIBXML_ATTR_ALLOC_SIZE(x)
 | |
| # endif
 | |
| #else
 | |
| # define LIBXML_ATTR_ALLOC_SIZE(x)
 | |
| #endif
 | |
| 
 | |
| /**
 | |
|  * LIBXML_ATTR_FORMAT:
 | |
|  *
 | |
|  * Macro used to indicate to GCC the parameter are printf like
 | |
|  */
 | |
| 
 | |
| #ifndef LIBXML_ATTR_FORMAT
 | |
| # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
 | |
| #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
 | |
| # else
 | |
| #  define LIBXML_ATTR_FORMAT(fmt,args)
 | |
| # endif
 | |
| #else
 | |
| # define LIBXML_ATTR_FORMAT(fmt,args)
 | |
| #endif
 | |
| 
 | |
| #else /* ! __GNUC__ */
 | |
| /**
 | |
|  * ATTRIBUTE_UNUSED:
 | |
|  *
 | |
|  * Macro used to signal to GCC unused function parameters
 | |
|  */
 | |
| #define ATTRIBUTE_UNUSED
 | |
| /**
 | |
|  * LIBXML_ATTR_ALLOC_SIZE:
 | |
|  *
 | |
|  * Macro used to indicate to GCC this is an allocator function
 | |
|  */
 | |
| #define LIBXML_ATTR_ALLOC_SIZE(x)
 | |
| /**
 | |
|  * LIBXML_ATTR_FORMAT:
 | |
|  *
 | |
|  * Macro used to indicate to GCC the parameter are printf like
 | |
|  */
 | |
| #define LIBXML_ATTR_FORMAT(fmt,args)
 | |
| #endif /* __GNUC__ */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif /* __cplusplus */
 | |
| #endif
 | |
| 
 | |
| 
 |