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

source code of include/libexslt/exsltexports.h