imgtools/imgcheck/libxml/xmlexports.h
changeset 2 39c28ec933dd
equal deleted inserted replaced
1:820b22e13ff1 2:39c28ec933dd
       
     1 /*
       
     2  * Summary: macros for marking symbols as exportable/importable.
       
     3  * Description: macros for marking symbols as exportable/importable.
       
     4  *
       
     5  * Copy: See Copyright for the status of this software.
       
     6  *
       
     7  * Author: Igor Zlatovic <igor@zlatkovic.com>
       
     8  */
       
     9 
       
    10 #ifndef __XML_EXPORTS_H__
       
    11 #define __XML_EXPORTS_H__
       
    12 
       
    13 /**
       
    14  * XMLPUBFUN, XMLPUBVAR, XMLCALL
       
    15  *
       
    16  * Macros which declare an exportable function, an exportable variable and
       
    17  * the calling convention used for functions.
       
    18  *
       
    19  * Please use an extra block for every platform/compiler combination when
       
    20  * modifying this, rather than overlong #ifdef lines. This helps
       
    21  * readability as well as the fact that different compilers on the same
       
    22  * platform might need different definitions.
       
    23  */
       
    24 
       
    25 /**
       
    26  * XMLPUBFUN:
       
    27  *
       
    28  * Macros which declare an exportable function
       
    29  */
       
    30 #define XMLPUBFUN
       
    31 /**
       
    32  * XMLPUBVAR:
       
    33  *
       
    34  * Macros which declare an exportable variable
       
    35  */
       
    36 #define XMLPUBVAR extern
       
    37 /**
       
    38  * XMLCALL:
       
    39  *
       
    40  * Macros which declare the called convention for exported functions
       
    41  */
       
    42 #define XMLCALL
       
    43 /**
       
    44  * XMLCDECL:
       
    45  *
       
    46  * Macro which declares the calling convention for exported functions that 
       
    47  * use '...'.
       
    48  */
       
    49 #define XMLCDECL
       
    50 
       
    51 /** DOC_DISABLE */
       
    52 
       
    53 /* Windows platform with MS compiler */
       
    54 #if defined(_WIN32) && defined(_MSC_VER)
       
    55   #undef XMLPUBFUN
       
    56   #undef XMLPUBVAR
       
    57   #undef XMLCALL
       
    58   #undef XMLCDECL
       
    59   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
       
    60     #define XMLPUBFUN __declspec(dllexport)
       
    61     #define XMLPUBVAR __declspec(dllexport)
       
    62   #else
       
    63     #define XMLPUBFUN
       
    64     #if !defined(LIBXML_STATIC)
       
    65       #define XMLPUBVAR __declspec(dllimport) extern
       
    66     #else
       
    67       #define XMLPUBVAR extern
       
    68     #endif
       
    69   #endif
       
    70   #if defined(LIBXML_FASTCALL)
       
    71     #define XMLCALL __fastcall
       
    72   #else
       
    73     #define XMLCALL __cdecl
       
    74   #endif
       
    75   #define XMLCDECL __cdecl
       
    76   #if !defined _REENTRANT
       
    77     #define _REENTRANT
       
    78   #endif
       
    79 #endif
       
    80 
       
    81 /* Windows platform with Borland compiler */
       
    82 #if defined(_WIN32) && defined(__BORLANDC__)
       
    83   #undef XMLPUBFUN
       
    84   #undef XMLPUBVAR
       
    85   #undef XMLCALL
       
    86   #undef XMLCDECL
       
    87   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
       
    88     #define XMLPUBFUN __declspec(dllexport)
       
    89     #define XMLPUBVAR __declspec(dllexport) extern
       
    90   #else
       
    91     #define XMLPUBFUN
       
    92     #if !defined(LIBXML_STATIC)
       
    93       #define XMLPUBVAR __declspec(dllimport) extern
       
    94     #else
       
    95       #define XMLPUBVAR extern
       
    96     #endif
       
    97   #endif
       
    98   #define XMLCALL __cdecl
       
    99   #define XMLCDECL __cdecl
       
   100   #if !defined _REENTRANT
       
   101     #define _REENTRANT
       
   102   #endif
       
   103 #endif
       
   104 
       
   105 /* Windows platform with GNU compiler (Mingw) */
       
   106 #if defined(_WIN32) && defined(__MINGW32__)
       
   107   #undef XMLPUBFUN
       
   108   #undef XMLPUBVAR
       
   109   #undef XMLCALL
       
   110   #undef XMLCDECL
       
   111   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
       
   112     #define XMLPUBFUN __declspec(dllexport)
       
   113     #define XMLPUBVAR __declspec(dllexport)
       
   114   #else
       
   115     #define XMLPUBFUN
       
   116     #if !defined(LIBXML_STATIC)
       
   117       #define XMLPUBVAR __declspec(dllimport) extern
       
   118     #else
       
   119       #define XMLPUBVAR extern
       
   120     #endif
       
   121   #endif
       
   122   #define XMLCALL __cdecl
       
   123   #define XMLCDECL __cdecl
       
   124   #if !defined _REENTRANT
       
   125     #define _REENTRANT
       
   126   #endif
       
   127 #endif
       
   128 
       
   129 /* Cygwin platform, GNU compiler */
       
   130 #if defined(_WIN32) && defined(__CYGWIN__)
       
   131   #undef XMLPUBFUN
       
   132   #undef XMLPUBVAR
       
   133   #undef XMLCALL
       
   134   #undef XMLCDECL
       
   135   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
       
   136     #define XMLPUBFUN __declspec(dllexport)
       
   137     #define XMLPUBVAR __declspec(dllexport)
       
   138   #else
       
   139     #define XMLPUBFUN
       
   140     #if !defined(LIBXML_STATIC)
       
   141       #define XMLPUBVAR __declspec(dllimport) extern
       
   142     #else
       
   143       #define XMLPUBVAR
       
   144     #endif
       
   145   #endif
       
   146   #define XMLCALL __cdecl
       
   147   #define XMLCDECL __cdecl
       
   148 #endif
       
   149 
       
   150 /* Compatibility */
       
   151 #if !defined(LIBXML_DLL_IMPORT)
       
   152 #define LIBXML_DLL_IMPORT XMLPUBVAR
       
   153 #endif
       
   154 
       
   155 #endif /* __XML_EXPORTS_H__ */
       
   156 
       
   157