williamr@4: /* williamr@4: * Summary: macros for marking symbols as exportable/importable. williamr@4: * Description: macros for marking symbols as exportable/importable. williamr@4: * williamr@4: * Copy: See Copyright for the status of this software. williamr@4: * williamr@4: * Author: Igor Zlatovic williamr@4: * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. williamr@4: */ williamr@4: williamr@4: /** @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef XML_EXPORTS_H williamr@4: #define XML_EXPORTS_H williamr@4: williamr@4: /** williamr@4: * XMLPUBFUN, XMLPUBVAR, XMLCALL williamr@4: * williamr@4: * Macros which declare an exportable function, an exportable variable and williamr@4: * the calling convention used for functions. williamr@4: * williamr@4: * Please use an extra block for every platform/compiler combination when williamr@4: * modifying this, rather than overlong #ifdef lines. This helps williamr@4: * readability as well as the fact that different compilers on the same williamr@4: * platform might need different definitions. williamr@4: */ williamr@4: williamr@4: /** williamr@4: * XMLPUBFUN: williamr@4: * williamr@4: * Macros which declare an exportable function williamr@4: */ williamr@4: #define XMLPUBFUN williamr@4: /** williamr@4: * XMLPUBVAR: williamr@4: * williamr@4: * Macros which declare an exportable variable williamr@4: */ williamr@4: #define XMLPUBVAR extern williamr@4: /** williamr@4: * XMLCALL: williamr@4: * williamr@4: * Macros which declare the called convention for exported functions williamr@4: */ williamr@4: #define XMLCALL williamr@4: #define XMLPUBFUNEXPORT __declspec(dllexport) williamr@4: williamr@4: /** DOC_DISABLE */ williamr@4: williamr@4: /* Windows platform with MS compiler */ williamr@4: #if defined(_WIN32) && defined(_MSC_VER) williamr@4: #undef XMLPUBFUN williamr@4: #undef XMLPUBVAR williamr@4: #undef XMLCALL williamr@4: #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) williamr@4: #define XMLPUBFUN __declspec(dllexport) williamr@4: #define XMLPUBVAR __declspec(dllexport) williamr@4: #else williamr@4: #define XMLPUBFUN williamr@4: #if !defined(LIBXML_STATIC) williamr@4: #define XMLPUBVAR __declspec(dllimport) extern williamr@4: #else williamr@4: #define XMLPUBVAR extern williamr@4: #endif williamr@4: #endif williamr@4: #define XMLCALL __cdecl williamr@4: #if !defined _REENTRANT williamr@4: #define _REENTRANT williamr@4: #endif williamr@4: #endif williamr@4: williamr@4: /* Windows platform with Borland compiler */ williamr@4: #if defined(_WIN32) && defined(__BORLANDC__) williamr@4: #undef XMLPUBFUN williamr@4: #undef XMLPUBVAR williamr@4: #undef XMLCALL williamr@4: #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) williamr@4: #define XMLPUBFUN __declspec(dllexport) williamr@4: #define XMLPUBVAR __declspec(dllexport) extern williamr@4: #else williamr@4: #define XMLPUBFUN williamr@4: #if !defined(LIBXML_STATIC) williamr@4: #define XMLPUBVAR __declspec(dllimport) extern williamr@4: #else williamr@4: #define XMLPUBVAR extern williamr@4: #endif williamr@4: #endif williamr@4: #define XMLCALL __cdecl williamr@4: #if !defined _REENTRANT williamr@4: #define _REENTRANT williamr@4: #endif williamr@4: #endif williamr@4: williamr@4: /* Windows platform with GNU compiler (Mingw) */ williamr@4: #if defined(_WIN32) && defined(__MINGW32__) williamr@4: #undef XMLPUBFUN williamr@4: #undef XMLPUBVAR williamr@4: #undef XMLCALL williamr@4: #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) williamr@4: #define XMLPUBFUN __declspec(dllexport) williamr@4: #define XMLPUBVAR __declspec(dllexport) williamr@4: #else williamr@4: #define XMLPUBFUN williamr@4: #if !defined(LIBXML_STATIC) williamr@4: #define XMLPUBVAR __declspec(dllimport) extern williamr@4: #else williamr@4: #define XMLPUBVAR extern williamr@4: #endif williamr@4: #endif williamr@4: #define XMLCALL __cdecl williamr@4: #if !defined _REENTRANT williamr@4: #define _REENTRANT williamr@4: #endif williamr@4: #endif williamr@4: williamr@4: /* Cygwin platform, GNU compiler */ williamr@4: #if defined(_WIN32) && defined(__CYGWIN__) williamr@4: #undef XMLPUBFUN williamr@4: #undef XMLPUBVAR williamr@4: #undef XMLCALL williamr@4: #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) williamr@4: #define XMLPUBFUN __declspec(dllexport) williamr@4: #define XMLPUBVAR __declspec(dllexport) williamr@4: #else williamr@4: #define XMLPUBFUN williamr@4: #if !defined(LIBXML_STATIC) williamr@4: #define XMLPUBVAR __declspec(dllimport) extern williamr@4: #else williamr@4: #define XMLPUBVAR williamr@4: #endif williamr@4: #endif williamr@4: #define XMLCALL __cdecl williamr@4: #endif williamr@4: williamr@4: /* Symbian: WINS/WINSCW/WINC/ARMI/ARMv5 */ williamr@4: #if defined(__SYMBIAN32__) && (__ARMCC_VERSION > 230000) williamr@4: # define XMLPUBFUN __declspec(dllimport) williamr@4: # define XMLPUBVAR __declspec(dllimport) extern williamr@4: #else williamr@4: williamr@4: # undef XMLPUBFUN williamr@4: #ifdef IN_LIBXML williamr@4: # define XMLPUBFUN __declspec(dllexport) williamr@4: #else williamr@4: # define XMLPUBFUN __declspec(dllimport) williamr@4: #endif williamr@4: williamr@4: # undef XMLPUBVAR williamr@4: # if defined(IN_LIBXML) williamr@4: # define XMLPUBVAR __declspec(dllexport) extern williamr@4: # else williamr@4: # define XMLPUBVAR __declspec(dllimport) extern williamr@4: #endif williamr@4: williamr@4: #endif williamr@4: williamr@4: /* Compatibility */ williamr@4: #if !defined(LIBXML_DLL_IMPORT) williamr@4: #define LIBXML_DLL_IMPORT XMLPUBVAR williamr@4: #endif williamr@4: williamr@4: #endif /* XML_EXPORTS_H */ williamr@4: