Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/xmlexports.h
811 views
/*1* Summary: macros for marking symbols as exportable/importable.2* Description: macros for marking symbols as exportable/importable.3*4* Copy: See Copyright for the status of this software.5*6* Author: Igor Zlatovic <[email protected]>7*/89#ifndef __XML_EXPORTS_H__10#define __XML_EXPORTS_H__1112/**13* XMLPUBFUN, XMLPUBVAR, XMLCALL14*15* Macros which declare an exportable function, an exportable variable and16* the calling convention used for functions.17*18* Please use an extra block for every platform/compiler combination when19* modifying this, rather than overlong #ifdef lines. This helps20* readability as well as the fact that different compilers on the same21* platform might need different definitions.22*/2324/**25* XMLPUBFUN:26*27* Macros which declare an exportable function28*/29#define XMLPUBFUN30/**31* XMLPUBVAR:32*33* Macros which declare an exportable variable34*/35#define XMLPUBVAR extern36/**37* XMLCALL:38*39* Macros which declare the called convention for exported functions40*/41#define XMLCALL42/**43* XMLCDECL:44*45* Macro which declares the calling convention for exported functions that46* use '...'.47*/48#define XMLCDECL4950/** DOC_DISABLE */5152/* Windows platform with MS compiler */53#if defined(_WIN32) && defined(_MSC_VER)54#undef XMLPUBFUN55#undef XMLPUBVAR56#undef XMLCALL57#undef XMLCDECL58#if defined(IN_LIBXML) && !defined(LIBXML_STATIC)59#define XMLPUBFUN __declspec(dllexport)60#define XMLPUBVAR __declspec(dllexport)61#else62#define XMLPUBFUN63#if !defined(LIBXML_STATIC)64#define XMLPUBVAR __declspec(dllimport) extern65#else66#define XMLPUBVAR extern67#endif68#endif69#if defined(LIBXML_FASTCALL)70#define XMLCALL __fastcall71#else72#define XMLCALL __cdecl73#endif74#define XMLCDECL __cdecl75#if !defined _REENTRANT76#define _REENTRANT77#endif78#endif7980/* Windows platform with Borland compiler */81#if defined(_WIN32) && defined(__BORLANDC__)82#undef XMLPUBFUN83#undef XMLPUBVAR84#undef XMLCALL85#undef XMLCDECL86#if defined(IN_LIBXML) && !defined(LIBXML_STATIC)87#define XMLPUBFUN __declspec(dllexport)88#define XMLPUBVAR __declspec(dllexport) extern89#else90#define XMLPUBFUN91#if !defined(LIBXML_STATIC)92#define XMLPUBVAR __declspec(dllimport) extern93#else94#define XMLPUBVAR extern95#endif96#endif97#define XMLCALL __cdecl98#define XMLCDECL __cdecl99#if !defined _REENTRANT100#define _REENTRANT101#endif102#endif103104/* Windows platform with GNU compiler (Mingw) */105#if defined(_WIN32) && defined(__MINGW32__)106#undef XMLPUBFUN107#undef XMLPUBVAR108#undef XMLCALL109#undef XMLCDECL110/*111* if defined(IN_LIBXML) this raises problems on mingw with msys112* _imp__xmlFree listed as missing. Try to workaround the problem113* by also making that declaration when compiling client code.114*/115#if defined(IN_LIBXML) && !defined(LIBXML_STATIC)116#define XMLPUBFUN __declspec(dllexport)117#define XMLPUBVAR __declspec(dllexport) extern118#else119#define XMLPUBFUN120#if !defined(LIBXML_STATIC)121#define XMLPUBVAR __declspec(dllimport) extern122#else123#define XMLPUBVAR extern124#endif125#endif126#define XMLCALL __cdecl127#define XMLCDECL __cdecl128#if !defined _REENTRANT129#define _REENTRANT130#endif131#endif132133/* Cygwin platform, GNU compiler */134#if defined(_WIN32) && defined(__CYGWIN__)135#undef XMLPUBFUN136#undef XMLPUBVAR137#undef XMLCALL138#undef XMLCDECL139#if defined(IN_LIBXML) && !defined(LIBXML_STATIC)140#define XMLPUBFUN __declspec(dllexport)141#define XMLPUBVAR __declspec(dllexport)142#else143#define XMLPUBFUN144#if !defined(LIBXML_STATIC)145#define XMLPUBVAR __declspec(dllimport) extern146#else147#define XMLPUBVAR148#endif149#endif150#define XMLCALL __cdecl151#define XMLCDECL __cdecl152#endif153154/* Compatibility */155#if !defined(LIBXML_DLL_IMPORT)156#define LIBXML_DLL_IMPORT XMLPUBVAR157#endif158159#endif /* __XML_EXPORTS_H__ */160161162163164