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 (does not define _WIN32), GNU compiler */
117#if 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 extern
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
143

source code of include/libxslt/xsltexports.h