Annotation of embedaddon/libxml2/include/libxml/xmlexports.h, revision 1.1

1.1     ! misho       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:   /*
        !           112:    * if defined(IN_LIBXML) this raises problems on mingw with msys
        !           113:    * _imp__xmlFree listed as missing. Try to workaround the problem
        !           114:    * by also making that declaration when compiling client code.
        !           115:    */
        !           116:   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
        !           117:     #define XMLPUBFUN __declspec(dllexport)
        !           118:     #define XMLPUBVAR __declspec(dllexport)
        !           119:   #else
        !           120:     #define XMLPUBFUN
        !           121:     #if !defined(LIBXML_STATIC)
        !           122:       #define XMLPUBVAR __declspec(dllimport) extern
        !           123:     #else
        !           124:       #define XMLPUBVAR extern
        !           125:     #endif
        !           126:   #endif
        !           127:   #define XMLCALL __cdecl
        !           128:   #define XMLCDECL __cdecl
        !           129:   #if !defined _REENTRANT
        !           130:     #define _REENTRANT
        !           131:   #endif
        !           132: #endif
        !           133: 
        !           134: /* Cygwin platform, GNU compiler */
        !           135: #if defined(_WIN32) && defined(__CYGWIN__)
        !           136:   #undef XMLPUBFUN
        !           137:   #undef XMLPUBVAR
        !           138:   #undef XMLCALL
        !           139:   #undef XMLCDECL
        !           140:   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
        !           141:     #define XMLPUBFUN __declspec(dllexport)
        !           142:     #define XMLPUBVAR __declspec(dllexport)
        !           143:   #else
        !           144:     #define XMLPUBFUN
        !           145:     #if !defined(LIBXML_STATIC)
        !           146:       #define XMLPUBVAR __declspec(dllimport) extern
        !           147:     #else
        !           148:       #define XMLPUBVAR
        !           149:     #endif
        !           150:   #endif
        !           151:   #define XMLCALL __cdecl
        !           152:   #define XMLCDECL __cdecl
        !           153: #endif
        !           154: 
        !           155: /* Compatibility */
        !           156: #if !defined(LIBXML_DLL_IMPORT)
        !           157: #define LIBXML_DLL_IMPORT XMLPUBVAR
        !           158: #endif
        !           159: 
        !           160: #endif /* __XML_EXPORTS_H__ */
        !           161: 
        !           162: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>