Imported Upstream version 0.18.1.1
[platform/upstream/gettext.git] / gnulib-local / lib / libxml / xmlexports.in.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 Zlatovic <igor@zlatkovic.com>
8  */
9
10 #ifndef __XML_EXPORTS_H__
11 #define __XML_EXPORTS_H__
12
13 /**
14  * XMLPUBFUN, XMLPUBVAR, XMLCALL
15  *
16  * Macros which declare an exportable function, an exportable variable and
17  * the calling convention used for functions.
18  *
19  * Please use an extra block for every platform/compiler combination when
20  * modifying this, rather than overlong #ifdef lines. This helps
21  * readability as well as the fact that different compilers on the same
22  * platform might need different definitions.
23  */
24
25 /**
26  * XMLPUBFUN:
27  *
28  * Macros which declare an exportable function
29  */
30 #define XMLPUBFUN
31 /**
32  * XMLPUBVAR:
33  *
34  * Macros which declare an exportable variable
35  */
36 #define XMLPUBVAR extern
37 /**
38  * XMLCALL:
39  *
40  * Macros which declare the called convention for exported functions
41  */
42 #define XMLCALL
43 /**
44  * XMLCDECL:
45  *
46  * Macro which declares the calling convention for exported functions that 
47  * use '...'.
48  */
49 #define XMLCDECL
50
51 /** DOC_DISABLE */
52
53 /* Windows platform with MS compiler */
54 #if defined(_WIN32) && defined(_MSC_VER)
55   #undef XMLPUBFUN
56   #undef XMLPUBVAR
57   #undef XMLCALL
58   #undef XMLCDECL
59   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
60     #define XMLPUBFUN __declspec(dllexport)
61     #define XMLPUBVAR __declspec(dllexport)
62   #else
63     #define XMLPUBFUN
64     #if !defined(LIBXML_STATIC)
65       #define XMLPUBVAR __declspec(dllimport) extern
66     #else
67       #define XMLPUBVAR extern
68     #endif
69   #endif
70   #if defined(LIBXML_FASTCALL)
71     #define XMLCALL __fastcall
72   #else
73     #define XMLCALL __cdecl
74   #endif
75   #define XMLCDECL __cdecl
76   #if !defined _REENTRANT
77     #define _REENTRANT
78   #endif
79 #endif
80
81 /* Windows platform with Borland compiler */
82 #if defined(_WIN32) && defined(__BORLANDC__)
83   #undef XMLPUBFUN
84   #undef XMLPUBVAR
85   #undef XMLCALL
86   #undef XMLCDECL
87   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
88     #define XMLPUBFUN __declspec(dllexport)
89     #define XMLPUBVAR __declspec(dllexport) extern
90   #else
91     #define XMLPUBFUN
92     #if !defined(LIBXML_STATIC)
93       #define XMLPUBVAR __declspec(dllimport) extern
94     #else
95       #define XMLPUBVAR extern
96     #endif
97   #endif
98   #define XMLCALL __cdecl
99   #define XMLCDECL __cdecl
100   #if !defined _REENTRANT
101     #define _REENTRANT
102   #endif
103 #endif
104
105 /* Windows platform with GNU compiler (Mingw) */
106 #if defined(_WIN32) && defined(__MINGW32__)
107   #undef XMLPUBFUN
108   #undef XMLPUBVAR
109   #undef XMLCALL
110   #undef XMLCDECL
111   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
112     #define XMLPUBFUN __declspec(dllexport)
113     #define XMLPUBVAR __declspec(dllexport)
114   #else
115     #define XMLPUBFUN
116     #if !defined(LIBXML_STATIC)
117       #define XMLPUBVAR __declspec(dllimport) extern
118     #else
119       #define XMLPUBVAR extern
120     #endif
121   #endif
122   #define XMLCALL __cdecl
123   #define XMLCDECL __cdecl
124   #if !defined _REENTRANT
125     #define _REENTRANT
126   #endif
127 #endif
128
129 /* Cygwin platform, GNU compiler */
130 #if defined(_WIN32) && defined(__CYGWIN__)
131   #undef XMLPUBFUN
132   #undef XMLPUBVAR
133   #undef XMLCALL
134   #undef XMLCDECL
135   #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
136     #define XMLPUBFUN __declspec(dllexport)
137     #define XMLPUBVAR __declspec(dllexport)
138   #else
139     #define XMLPUBFUN
140     #if !defined(LIBXML_STATIC)
141       #define XMLPUBVAR __declspec(dllimport) extern
142     #else
143       #define XMLPUBVAR
144     #endif
145   #endif
146   #define XMLCALL __cdecl
147   #define XMLCDECL __cdecl
148 #endif
149
150 /* Compatibility */
151 #if !defined(LIBXML_DLL_IMPORT)
152 #define LIBXML_DLL_IMPORT XMLPUBVAR
153 #endif
154
155 #endif /* __XML_EXPORTS_H__ */
156
157