You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
3.3 KiB

4 years ago
  1. /*
  2. * exsltexports.h : macros for marking symbols as exportable/importable.
  3. *
  4. * See Copyright for the status of this software.
  5. *
  6. * igor@zlatkovic.com
  7. */
  8. #ifndef __EXSLT_EXPORTS_H__
  9. #define __EXSLT_EXPORTS_H__
  10. /**
  11. * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
  12. *
  13. * Macros which declare an exportable function, an exportable variable and
  14. * the calling convention used for functions.
  15. *
  16. * Please use an extra block for every platform/compiler combination when
  17. * modifying this, rather than overlong #ifdef lines. This helps
  18. * readability as well as the fact that different compilers on the same
  19. * platform might need different definitions.
  20. */
  21. /**
  22. * EXSLTPUBFUN:
  23. *
  24. * Macros which declare an exportable function
  25. */
  26. #define EXSLTPUBFUN
  27. /**
  28. * EXSLTPUBVAR:
  29. *
  30. * Macros which declare an exportable variable
  31. */
  32. #define EXSLTPUBVAR extern
  33. /**
  34. * EXSLTCALL:
  35. *
  36. * Macros which declare the called convention for exported functions
  37. */
  38. #define EXSLTCALL
  39. /** DOC_DISABLE */
  40. /* Windows platform with MS compiler */
  41. #if defined(_WIN32) && defined(_MSC_VER)
  42. #undef EXSLTPUBFUN
  43. #undef EXSLTPUBVAR
  44. #undef EXSLTCALL
  45. #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
  46. #define EXSLTPUBFUN __declspec(dllexport)
  47. #define EXSLTPUBVAR __declspec(dllexport)
  48. #else
  49. #define EXSLTPUBFUN
  50. #if !defined(LIBEXSLT_STATIC)
  51. #define EXSLTPUBVAR __declspec(dllimport) extern
  52. #else
  53. #define EXSLTPUBVAR extern
  54. #endif
  55. #endif
  56. #define EXSLTCALL __cdecl
  57. #if !defined _REENTRANT
  58. #define _REENTRANT
  59. #endif
  60. #endif
  61. /* Windows platform with Borland compiler */
  62. #if defined(_WIN32) && defined(__BORLANDC__)
  63. #undef EXSLTPUBFUN
  64. #undef EXSLTPUBVAR
  65. #undef EXSLTCALL
  66. #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
  67. #define EXSLTPUBFUN __declspec(dllexport)
  68. #define EXSLTPUBVAR __declspec(dllexport) extern
  69. #else
  70. #define EXSLTPUBFUN
  71. #if !defined(LIBEXSLT_STATIC)
  72. #define EXSLTPUBVAR __declspec(dllimport) extern
  73. #else
  74. #define EXSLTPUBVAR extern
  75. #endif
  76. #endif
  77. #define EXSLTCALL __cdecl
  78. #if !defined _REENTRANT
  79. #define _REENTRANT
  80. #endif
  81. #endif
  82. /* Windows platform with GNU compiler (Mingw) */
  83. #if defined(_WIN32) && defined(__MINGW32__)
  84. #undef EXSLTPUBFUN
  85. #undef EXSLTPUBVAR
  86. #undef EXSLTCALL
  87. /*
  88. #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
  89. */
  90. #if !defined(LIBEXSLT_STATIC)
  91. #define EXSLTPUBFUN __declspec(dllexport)
  92. #define EXSLTPUBVAR __declspec(dllexport) extern
  93. #else
  94. #define EXSLTPUBFUN
  95. #if !defined(LIBEXSLT_STATIC)
  96. #define EXSLTPUBVAR __declspec(dllimport) extern
  97. #else
  98. #define EXSLTPUBVAR extern
  99. #endif
  100. #endif
  101. #define EXSLTCALL __cdecl
  102. #if !defined _REENTRANT
  103. #define _REENTRANT
  104. #endif
  105. #endif
  106. /* Cygwin platform, GNU compiler */
  107. #if defined(_WIN32) && defined(__CYGWIN__)
  108. #undef EXSLTPUBFUN
  109. #undef EXSLTPUBVAR
  110. #undef EXSLTCALL
  111. #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
  112. #define EXSLTPUBFUN __declspec(dllexport)
  113. #define EXSLTPUBVAR __declspec(dllexport)
  114. #else
  115. #define EXSLTPUBFUN
  116. #if !defined(LIBEXSLT_STATIC)
  117. #define EXSLTPUBVAR __declspec(dllimport) extern
  118. #else
  119. #define EXSLTPUBVAR
  120. #endif
  121. #endif
  122. #define EXSLTCALL __cdecl
  123. #endif
  124. /* Compatibility */
  125. #if !defined(LIBEXSLT_PUBLIC)
  126. #define LIBEXSLT_PUBLIC EXSLTPUBVAR
  127. #endif
  128. #endif /* __EXSLT_EXPORTS_H__ */