xmlexports.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. #ifndef __XML_EXPORTS_H__
  8. #define __XML_EXPORTS_H__
  9. #if defined(_WIN32) || defined(__CYGWIN__)
  10. /** DOC_DISABLE */
  11. #ifdef LIBXML_STATIC
  12. #define XMLPUBLIC
  13. #elif defined(IN_LIBXML)
  14. #define XMLPUBLIC __declspec(dllexport)
  15. #else
  16. #define XMLPUBLIC __declspec(dllimport)
  17. #endif
  18. #if defined(LIBXML_FASTCALL)
  19. #define XMLCALL __fastcall
  20. #else
  21. #define XMLCALL __cdecl
  22. #endif
  23. #define XMLCDECL __cdecl
  24. /** DOC_ENABLE */
  25. #else /* not Windows */
  26. /**
  27. * XMLPUBLIC:
  28. *
  29. * Macro which declares a public symbol
  30. */
  31. #define XMLPUBLIC
  32. /**
  33. * XMLCALL:
  34. *
  35. * Macro which declares the calling convention for exported functions
  36. */
  37. #define XMLCALL
  38. /**
  39. * XMLCDECL:
  40. *
  41. * Macro which declares the calling convention for exported functions that
  42. * use '...'.
  43. */
  44. #define XMLCDECL
  45. #endif /* platform switch */
  46. /*
  47. * XMLPUBFUN:
  48. *
  49. * Macro which declares an exportable function
  50. */
  51. #define XMLPUBFUN XMLPUBLIC
  52. /**
  53. * XMLPUBVAR:
  54. *
  55. * Macro which declares an exportable variable
  56. */
  57. #define XMLPUBVAR XMLPUBLIC extern
  58. /* Compatibility */
  59. #if !defined(LIBXML_DLL_IMPORT)
  60. #define LIBXML_DLL_IMPORT XMLPUBVAR
  61. #endif
  62. #endif /* __XML_EXPORTS_H__ */