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 | |
9 | #ifndef __EXSLT_EXPORTS_H__ |
10 | #define __EXSLT_EXPORTS_H__ |
11 | |
12 | /** |
13 | * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL |
14 | * |
15 | * Macros which declare an exportable function, an exportable variable and |
16 | * the calling convention used for functions. |
17 | * |
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. |
22 | */ |
23 | |
24 | /** |
25 | * EXSLTPUBFUN: |
26 | * |
27 | * Macros which declare an exportable function |
28 | */ |
29 | #define EXSLTPUBFUN |
30 | /** |
31 | * EXSLTPUBVAR: |
32 | * |
33 | * Macros which declare an exportable variable |
34 | */ |
35 | #define EXSLTPUBVAR extern |
36 | /** |
37 | * EXSLTCALL: |
38 | * |
39 | * Macros which declare the called convention for exported functions |
40 | */ |
41 | #define EXSLTCALL |
42 | |
43 | /** DOC_DISABLE */ |
44 | |
45 | /* Windows platform with MS compiler */ |
46 | #if defined(_WIN32) && defined(_MSC_VER) |
47 | #undef EXSLTPUBFUN |
48 | #undef EXSLTPUBVAR |
49 | #undef EXSLTCALL |
50 | #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) |
51 | #define EXSLTPUBFUN __declspec(dllexport) |
52 | #define EXSLTPUBVAR __declspec(dllexport) |
53 | #else |
54 | #define EXSLTPUBFUN |
55 | #if !defined(LIBEXSLT_STATIC) |
56 | #define EXSLTPUBVAR __declspec(dllimport) extern |
57 | #else |
58 | #define EXSLTPUBVAR extern |
59 | #endif |
60 | #endif |
61 | #define EXSLTCALL __cdecl |
62 | #if !defined _REENTRANT |
63 | #define _REENTRANT |
64 | #endif |
65 | #endif |
66 | |
67 | /* Windows platform with Borland compiler */ |
68 | #if defined(_WIN32) && defined(__BORLANDC__) |
69 | #undef EXSLTPUBFUN |
70 | #undef EXSLTPUBVAR |
71 | #undef EXSLTCALL |
72 | #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) |
73 | #define EXSLTPUBFUN __declspec(dllexport) |
74 | #define EXSLTPUBVAR __declspec(dllexport) extern |
75 | #else |
76 | #define EXSLTPUBFUN |
77 | #if !defined(LIBEXSLT_STATIC) |
78 | #define EXSLTPUBVAR __declspec(dllimport) extern |
79 | #else |
80 | #define EXSLTPUBVAR extern |
81 | #endif |
82 | #endif |
83 | #define EXSLTCALL __cdecl |
84 | #if !defined _REENTRANT |
85 | #define _REENTRANT |
86 | #endif |
87 | #endif |
88 | |
89 | /* Windows platform with GNU compiler (Mingw) */ |
90 | #if defined(_WIN32) && defined(__MINGW32__) |
91 | #undef EXSLTPUBFUN |
92 | #undef EXSLTPUBVAR |
93 | #undef EXSLTCALL |
94 | /* |
95 | #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) |
96 | */ |
97 | #if !defined(LIBEXSLT_STATIC) |
98 | #define EXSLTPUBFUN __declspec(dllexport) |
99 | #define EXSLTPUBVAR __declspec(dllexport) extern |
100 | #else |
101 | #define EXSLTPUBFUN |
102 | #if !defined(LIBEXSLT_STATIC) |
103 | #define EXSLTPUBVAR __declspec(dllimport) extern |
104 | #else |
105 | #define EXSLTPUBVAR extern |
106 | #endif |
107 | #endif |
108 | #define EXSLTCALL __cdecl |
109 | #if !defined _REENTRANT |
110 | #define _REENTRANT |
111 | #endif |
112 | #endif |
113 | |
114 | /* Cygwin platform (does not define _WIN32), GNU compiler */ |
115 | #if defined(__CYGWIN__) |
116 | #undef EXSLTPUBFUN |
117 | #undef EXSLTPUBVAR |
118 | #undef EXSLTCALL |
119 | #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) |
120 | #define EXSLTPUBFUN __declspec(dllexport) |
121 | #define EXSLTPUBVAR __declspec(dllexport) |
122 | #else |
123 | #define EXSLTPUBFUN |
124 | #if !defined(LIBEXSLT_STATIC) |
125 | #define EXSLTPUBVAR __declspec(dllimport) extern |
126 | #else |
127 | #define EXSLTPUBVAR extern |
128 | #endif |
129 | #endif |
130 | #define EXSLTCALL __cdecl |
131 | #endif |
132 | |
133 | /* Compatibility */ |
134 | #if !defined(LIBEXSLT_PUBLIC) |
135 | #define LIBEXSLT_PUBLIC EXSLTPUBVAR |
136 | #endif |
137 | |
138 | #endif /* __EXSLT_EXPORTS_H__ */ |
139 | |
140 | |
141 | |