2 * exsltexports.h : macros for marking symbols as exportable/importable.
4 * See Copyright for the status of this software.
9 #ifndef __EXSLT_EXPORTS_H__
10 #define __EXSLT_EXPORTS_H__
13 * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
15 * Macros which declare an exportable function, an exportable variable and
16 * the calling convention used for functions.
18 * Please use an extra block for every platform/compiler combination when
19 * modifying this, rather than overlong #ifdef lines. This helps
20 * readability as well as the fact that different compilers on the same
21 * platform might need different definitions.
27 * Macros which declare an exportable function
33 * Macros which declare an exportable variable
35 #define EXSLTPUBVAR extern
39 * Macros which declare the called convention for exported functions
45 /* Windows platform with MS compiler */
46 #if defined(_WIN32) && defined(_MSC_VER)
50 #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
51 #define EXSLTPUBFUN __declspec(dllexport)
52 #define EXSLTPUBVAR __declspec(dllexport)
55 #if !defined(LIBEXSLT_STATIC)
56 #define EXSLTPUBVAR __declspec(dllimport) extern
58 #define EXSLTPUBVAR extern
61 #define EXSLTCALL __cdecl
62 #if !defined _REENTRANT
67 /* Windows platform with Borland compiler */
68 #if defined(_WIN32) && defined(__BORLANDC__)
72 #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
73 #define EXSLTPUBFUN __declspec(dllexport)
74 #define EXSLTPUBVAR __declspec(dllexport) extern
77 #if !defined(LIBEXSLT_STATIC)
78 #define EXSLTPUBVAR __declspec(dllimport) extern
80 #define EXSLTPUBVAR extern
83 #define EXSLTCALL __cdecl
84 #if !defined _REENTRANT
89 /* Windows platform with GNU compiler (Mingw) */
90 #if defined(_WIN32) && defined(__MINGW32__)
95 #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
97 #if !defined(LIBEXSLT_STATIC)
98 #define EXSLTPUBFUN __declspec(dllexport)
99 #define EXSLTPUBVAR __declspec(dllexport) extern
102 #if !defined(LIBEXSLT_STATIC)
103 #define EXSLTPUBVAR __declspec(dllimport) extern
105 #define EXSLTPUBVAR extern
108 #define EXSLTCALL __cdecl
109 #if !defined _REENTRANT
114 /* Cygwin platform, GNU compiler */
115 #if defined(_WIN32) && defined(__CYGWIN__)
119 #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
120 #define EXSLTPUBFUN __declspec(dllexport)
121 #define EXSLTPUBVAR __declspec(dllexport)
124 #if !defined(LIBEXSLT_STATIC)
125 #define EXSLTPUBVAR __declspec(dllimport) extern
130 #define EXSLTCALL __cdecl
134 #if !defined(LIBEXSLT_PUBLIC)
135 #define LIBEXSLT_PUBLIC EXSLTPUBVAR
138 #endif /* __EXSLT_EXPORTS_H__ */