Roll src/third_party/WebKit a3b4a2e:7441784 (svn 202551:202552)
[chromium-blink-merge.git] / third_party / libxslt / libexslt / exsltexports.h
blobbead915cb747407472bc62dd7343412f9084332c
1 /*
2 * exsltexports.h : macros for marking symbols as exportable/importable.
4 * See Copyright for the status of this software.
6 * igor@zlatkovic.com
7 */
9 #ifndef __EXSLT_EXPORTS_H__
10 #define __EXSLT_EXPORTS_H__
12 /**
13 * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
15 * Macros which declare an exportable function, an exportable variable and
16 * the calling convention used for functions.
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.
24 /**
25 * EXSLTPUBFUN:
27 * Macros which declare an exportable function
29 #define EXSLTPUBFUN
30 /**
31 * EXSLTPUBVAR:
33 * Macros which declare an exportable variable
35 #define EXSLTPUBVAR extern
36 /**
37 * EXSLTCALL:
39 * Macros which declare the called convention for exported functions
41 #define EXSLTCALL
43 /** DOC_DISABLE */
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
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
89 /* Windows platform with GNU compiler (Mingw) */
90 #if defined(_WIN32) && defined(__MINGW32__)
91 #undef EXSLTPUBFUN
92 #undef EXSLTPUBVAR
93 #undef EXSLTCALL
95 #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
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
114 /* Cygwin platform, GNU compiler */
115 #if defined(_WIN32) && 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
128 #endif
129 #endif
130 #define EXSLTCALL __cdecl
131 #endif
133 /* Compatibility */
134 #if !defined(LIBEXSLT_PUBLIC)
135 #define LIBEXSLT_PUBLIC EXSLTPUBVAR
136 #endif
138 #endif /* __EXSLT_EXPORTS_H__ */