Home | History | Annotate | Download | only in libxml
      1 /*
      2  * Summary: compile-time version informations on Windows
      3  * Description: compile-time version informations for the XML library
      4  *              when compiled on the Windows platform
      5  *
      6  * Copy: See Copyright for the status of this software.
      7  *
      8  * Author: Daniel Veillard
      9  */
     10 
     11 #ifndef __XML_VERSION_H__
     12 #define __XML_VERSION_H__
     13 
     14 #ifdef __cplusplus
     15 extern "C" {
     16 #endif
     17 
     18 /*
     19  * use those to be sure nothing nasty will happen if
     20  * your library and includes mismatch
     21  */
     22 #ifndef LIBXML2_COMPILING_MSCCDEF
     23 extern void xmlCheckVersion(int version);
     24 #endif /* LIBXML2_COMPILING_MSCCDEF */
     25 
     26 /**
     27  * LIBXML_DOTTED_VERSION:
     28  *
     29  * the version string like "1.2.3"
     30  */
     31 #define LIBXML_DOTTED_VERSION "2.4.26"
     32 
     33 /**
     34  * LIBXML_VERSION:
     35  *
     36  * the version number: 1.2.3 value is 1002003
     37  */
     38 #define LIBXML_VERSION 20426
     39 
     40 /**
     41  * LIBXML_VERSION_STRING:
     42  *
     43  * the version number string, 1.2.3 value is "1002003"
     44  */
     45 #define LIBXML_VERSION_STRING "20426"
     46 
     47 /**
     48  * LIBXML_TEST_VERSION:
     49  *
     50  * Macro to check that the libxml version in use is compatible with
     51  * the version the software has been compiled against
     52  */
     53 #define LIBXML_TEST_VERSION xmlCheckVersion(20426);
     54 
     55 #if 0
     56 /**
     57  * WITH_TRIO:
     58  *
     59  * defined if the trio support need to be configured in
     60  */
     61 #define WITH_TRIO
     62 #else
     63 /**
     64  * WITHOUT_TRIO:
     65  *
     66  * defined if the trio support should not be configured in
     67  */
     68 #define WITHOUT_TRIO
     69 #endif
     70 
     71 /**
     72  * LIBXML_THREAD_ENABLED:
     73  *
     74  * Whether the thread support is configured in
     75  */
     76 #if 0
     77 #define LIBXML_THREAD_ENABLED
     78 #endif
     79 
     80 /**
     81  * LIBXML_FTP_ENABLED:
     82  *
     83  * Whether the FTP support is configured in
     84  */
     85 #if 1
     86 #define LIBXML_FTP_ENABLED
     87 #endif
     88 
     89 /**
     90  * LIBXML_HTTP_ENABLED:
     91  *
     92  * Whether the HTTP support is configured in
     93  */
     94 #if 1
     95 #define LIBXML_HTTP_ENABLED
     96 #endif
     97 
     98 /**
     99  * LIBXML_HTML_ENABLED:
    100  *
    101  * Whether the HTML support is configured in
    102  */
    103 #if 1
    104 #define LIBXML_HTML_ENABLED
    105 #endif
    106 
    107 /**
    108  * LIBXML_CATALOG_ENABLED:
    109  *
    110  * Whether the Catalog support is configured in
    111  */
    112 #if 1
    113 #define LIBXML_CATALOG_ENABLED
    114 #endif
    115 
    116 /**
    117  * LIBXML_DOCB_ENABLED:
    118  *
    119  * Whether the SGML Docbook support is configured in
    120  */
    121 #if 1
    122 #define LIBXML_DOCB_ENABLED
    123 #endif
    124 
    125 /**
    126  * LIBXML_XPATH_ENABLED:
    127  *
    128  * Whether XPath is configured in
    129  */
    130 #if 1
    131 #define LIBXML_XPATH_ENABLED
    132 #endif
    133 
    134 /**
    135  * LIBXML_XPTR_ENABLED:
    136  *
    137  * Whether XPointer is configured in
    138  */
    139 #if 1
    140 #define LIBXML_XPTR_ENABLED
    141 #endif
    142 
    143 /**
    144  * LIBXML_C14N_ENABLED:
    145  *
    146  * Whether the Canonicalization support is configured in
    147  */
    148 #if 0
    149 #define LIBXML_C14N_ENABLED
    150 #endif
    151 
    152 /**
    153  * LIBXML_XINCLUDE_ENABLED:
    154  *
    155  * Whether XInclude is configured in
    156  */
    157 #if 1
    158 #define LIBXML_XINCLUDE_ENABLED
    159 #endif
    160 
    161 /**
    162  * LIBXML_ICONV_ENABLED:
    163  *
    164  * Whether iconv support is available
    165  */
    166 #if 0
    167 #define LIBXML_ICONV_ENABLED
    168 #endif
    169 
    170 /**
    171  * LIBXML_DEBUG_ENABLED:
    172  *
    173  * Whether Debugging module is configured in
    174  */
    175 #if 1
    176 #define LIBXML_DEBUG_ENABLED
    177 #endif
    178 
    179 /**
    180  * DEBUG_MEMORY_LOCATION:
    181  *
    182  * Whether the memory debugging is configured in
    183  */
    184 #if 0
    185 #define DEBUG_MEMORY_LOCATION
    186 #endif
    187 
    188 /**
    189  * LIBXML_DLL_IMPORT:
    190  *
    191  * Used on Windows (MS C compiler only) to declare a variable as
    192  * imported from the library. This macro should be empty when compiling
    193  * libxml itself. It should expand to __declspec(dllimport)
    194  * when the client code includes this header, and that only if the client
    195  * links dynamically against libxml.
    196  * For this to work, we need three macros. One tells us which compiler is
    197  * being used and luckily the compiler defines such a thing: _MSC_VER. The
    198  * second macro tells us if we are compiling libxml or the client code and
    199  * we define the macro IN_LIBXML on the compiler's command line for this
    200  * purpose. The third macro, LIBXML_STATIC, must be defined by any client
    201  * code which links against libxml statically.
    202  */
    203 #ifndef LIBXML_DLL_IMPORT
    204 #if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC)
    205 #define LIBXML_DLL_IMPORT __declspec(dllimport)
    206 #else
    207 #define LIBXML_DLL_IMPORT
    208 #endif
    209 #endif
    210 
    211 /**
    212  * ATTRIBUTE_UNUSED:
    213  *
    214  * Macro used to signal to GCC unused function parameters
    215  */
    216 #ifdef __GNUC__
    217 #ifndef ATTRIBUTE_UNUSED
    218 #define ATTRIBUTE_UNUSED
    219 #endif
    220 #else
    221 #define ATTRIBUTE_UNUSED
    222 #endif
    223 
    224 /*
    225  * #pragma comment(lib, "iconv.lib")
    226  *
    227  * pragma understood my MS compiler which enables a conditional link with
    228  * iconv.
    229  */
    230 #ifdef _MSC_VER
    231 #if defined LIBXML_ICONV_ENABLED && !defined LIBXML2_COMPILING_MSCCDEF
    232 #pragma comment(lib, "iconv.lib")
    233 #endif
    234 #endif
    235 
    236 #ifdef __cplusplus
    237 }
    238 #endif /* __cplusplus */
    239 #endif
    240