Sync with trunk head
[reactos.git] / dll / 3rdparty / libxslt / xsltexports.h
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 * Author: Igor Zlatkovic <igor@zlatkovic.com>
8 */
9
10 #ifndef __XSLT_EXPORTS_H__
11 #define __XSLT_EXPORTS_H__
12
13 /**
14 * XSLTPUBFUN:
15 * XSLTPUBFUN, XSLTPUBVAR, XSLTCALL
16 *
17 * Macros which declare an exportable function, an exportable variable and
18 * the calling convention used for functions.
19 *
20 * Please use an extra block for every platform/compiler combination when
21 * modifying this, rather than overlong #ifdef lines. This helps
22 * readability as well as the fact that different compilers on the same
23 * platform might need different definitions.
24 */
25
26 /**
27 * XSLTPUBFUN:
28 *
29 * Macros which declare an exportable function
30 */
31 #define XSLTPUBFUN
32 /**
33 * XSLTPUBVAR:
34 *
35 * Macros which declare an exportable variable
36 */
37 #define XSLTPUBVAR extern
38 /**
39 * XSLTCALL:
40 *
41 * Macros which declare the called convention for exported functions
42 */
43 #define XSLTCALL
44
45 /** DOC_DISABLE */
46
47 /* Windows platform with MS compiler */
48 #if defined(_WIN32) && defined(_MSC_VER)
49 #undef XSLTPUBFUN
50 #undef XSLTPUBVAR
51 #undef XSLTCALL
52 #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
53 #define XSLTPUBFUN __declspec(dllexport)
54 #define XSLTPUBVAR __declspec(dllexport)
55 #else
56 #define XSLTPUBFUN
57 #if !defined(LIBXSLT_STATIC)
58 #define XSLTPUBVAR __declspec(dllimport) extern
59 #else
60 #define XSLTPUBVAR extern
61 #endif
62 #endif
63 #define XSLTCALL __cdecl
64 #if !defined _REENTRANT
65 #define _REENTRANT
66 #endif
67 #endif
68
69 /* Windows platform with Borland compiler */
70 #if defined(_WIN32) && defined(__BORLANDC__)
71 #undef XSLTPUBFUN
72 #undef XSLTPUBVAR
73 #undef XSLTCALL
74 #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
75 #define XSLTPUBFUN __declspec(dllexport)
76 #define XSLTPUBVAR __declspec(dllexport) extern
77 #else
78 #define XSLTPUBFUN
79 #if !defined(LIBXSLT_STATIC)
80 #define XSLTPUBVAR __declspec(dllimport) extern
81 #else
82 #define XSLTPUBVAR extern
83 #endif
84 #endif
85 #define XSLTCALL __cdecl
86 #if !defined _REENTRANT
87 #define _REENTRANT
88 #endif
89 #endif
90
91 /* Windows platform with GNU compiler (Mingw) */
92 #if defined(_WIN32) && defined(__MINGW32__)
93 #undef XSLTPUBFUN
94 #undef XSLTPUBVAR
95 #undef XSLTCALL
96 /*
97 #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
98 */
99 #if !defined(LIBXSLT_STATIC)
100 #define XSLTPUBFUN __declspec(dllexport)
101 #define XSLTPUBVAR __declspec(dllexport) extern
102 #else
103 #define XSLTPUBFUN
104 #if !defined(LIBXSLT_STATIC)
105 #define XSLTPUBVAR __declspec(dllimport) extern
106 #else
107 #define XSLTPUBVAR extern
108 #endif
109 #endif
110 #define XSLTCALL __cdecl
111 #if !defined _REENTRANT
112 #define _REENTRANT
113 #endif
114 #endif
115
116 /* Cygwin platform, GNU compiler */
117 #if defined(_WIN32) && defined(__CYGWIN__)
118 #undef XSLTPUBFUN
119 #undef XSLTPUBVAR
120 #undef XSLTCALL
121 #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
122 #define XSLTPUBFUN __declspec(dllexport)
123 #define XSLTPUBVAR __declspec(dllexport)
124 #else
125 #define XSLTPUBFUN
126 #if !defined(LIBXSLT_STATIC)
127 #define XSLTPUBVAR __declspec(dllimport) extern
128 #else
129 #define XSLTPUBVAR
130 #endif
131 #endif
132 #define XSLTCALL __cdecl
133 #endif
134
135 /* Compatibility */
136 #if !defined(LIBXSLT_PUBLIC)
137 #define LIBXSLT_PUBLIC XSLTPUBVAR
138 #endif
139
140 #endif /* __XSLT_EXPORTS_H__ */
141
142