xmlexports.h

Go to the documentation of this file.
00001 /*
00002  * Summary: macros for marking symbols as exportable/importable.
00003  * Description: macros for marking symbols as exportable/importable.
00004  *
00005  * Copy: See Copyright for the status of this software.
00006  *
00007  * Author: Igor Zlatovic <igor@zlatkovic.com>
00008  */
00009 
00010 #ifndef __XML_EXPORTS_H__
00011 #define __XML_EXPORTS_H__
00012 
00030 #define XMLPUBFUN
00031 
00036 #define XMLPUBVAR extern
00037 
00042 #define XMLCALL
00043 
00049 #define XMLCDECL
00050 
00053 /* Windows platform with MS compiler */
00054 #if defined(_WIN32) && defined(_MSC_VER)
00055   #undef XMLPUBFUN
00056   #undef XMLPUBVAR
00057   #undef XMLCALL
00058   #undef XMLCDECL
00059   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
00060     #define XMLPUBFUN __declspec(dllexport)
00061     #define XMLPUBVAR __declspec(dllexport)
00062   #else
00063     #define XMLPUBFUN
00064     #if !defined(LIBXML_STATIC)
00065       #define XMLPUBVAR __declspec(dllimport) extern
00066     #else
00067       #define XMLPUBVAR extern
00068     #endif
00069   #endif
00070   #if defined(LIBXML_FASTCALL)
00071     #define XMLCALL __fastcall
00072   #else
00073     #define XMLCALL __cdecl
00074   #endif
00075   #define XMLCDECL __cdecl
00076   #if !defined _REENTRANT
00077     #define _REENTRANT
00078   #endif
00079 #endif
00080 
00081 /* Windows platform with Borland compiler */
00082 #if defined(_WIN32) && defined(__BORLANDC__)
00083   #undef XMLPUBFUN
00084   #undef XMLPUBVAR
00085   #undef XMLCALL
00086   #undef XMLCDECL
00087   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
00088     #define XMLPUBFUN __declspec(dllexport)
00089     #define XMLPUBVAR __declspec(dllexport) extern
00090   #else
00091     #define XMLPUBFUN
00092     #if !defined(LIBXML_STATIC)
00093       #define XMLPUBVAR __declspec(dllimport) extern
00094     #else
00095       #define XMLPUBVAR extern
00096     #endif
00097   #endif
00098   #define XMLCALL __cdecl
00099   #define XMLCDECL __cdecl
00100   #if !defined _REENTRANT
00101     #define _REENTRANT
00102   #endif
00103 #endif
00104 
00105 /* Windows platform with GNU compiler (Mingw) */
00106 #if defined(_WIN32) && defined(__MINGW32__)
00107   #undef XMLPUBFUN
00108   #undef XMLPUBVAR
00109   #undef XMLCALL
00110   #undef XMLCDECL
00111   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
00112     #define XMLPUBFUN __declspec(dllexport)
00113     #define XMLPUBVAR __declspec(dllexport)
00114   #else
00115     #define XMLPUBFUN
00116     #if !defined(LIBXML_STATIC)
00117       #define XMLPUBVAR __declspec(dllimport) extern
00118     #else
00119       #define XMLPUBVAR extern
00120     #endif
00121   #endif
00122   #define XMLCALL __cdecl
00123   #define XMLCDECL __cdecl
00124   #if !defined _REENTRANT
00125     #define _REENTRANT
00126   #endif
00127 #endif
00128 
00129 /* Cygwin platform, GNU compiler */
00130 #if defined(_WIN32) && defined(__CYGWIN__)
00131   #undef XMLPUBFUN
00132   #undef XMLPUBVAR
00133   #undef XMLCALL
00134   #undef XMLCDECL
00135   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
00136     #define XMLPUBFUN __declspec(dllexport)
00137     #define XMLPUBVAR __declspec(dllexport)
00138   #else
00139     #define XMLPUBFUN
00140     #if !defined(LIBXML_STATIC)
00141       #define XMLPUBVAR __declspec(dllimport) extern
00142     #else
00143       #define XMLPUBVAR
00144     #endif
00145   #endif
00146   #define XMLCALL __cdecl
00147   #define XMLCDECL __cdecl
00148 #endif
00149 
00150 /* Compatibility */
00151 #if !defined(LIBXML_DLL_IMPORT)
00152 #define LIBXML_DLL_IMPORT XMLPUBVAR
00153 #endif
00154 
00155 #endif /* __XML_EXPORTS_H__ */
00156 
00157 
footer
 SourceForge.net Logo