VirtualBox

source: vbox/trunk/src/libs/libxml2-2.6.30/include/libxml/xmlexports.h@ 20364

最後變更 在這個檔案從20364是 19557,由 vboxsync 提交於 16 年 前

libxml2: hidden fun for when we link this into a dylib/so and wants to link stuff against that again.

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Date Revision Author Id
檔案大小: 4.0 KB
 
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 <[email protected]>
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/* bird/VirtualBox: Visibility attributes - start */
151#if defined(VBOX_HAVE_VISIBILITY_HIDDEN) && !defined(LIBXML_STATIC) && defined(IN_LIBXML)
152 #undef XMLPUBFUN
153 #undef XMLPUBVAR
154 #define XMLPUBFUN __attribute__((visibility("default")))
155 #define XMLPUBVAR __attribute__((visibility("default"))) extern
156#endif
157/* bird/VirtualBox: Visibility attributes - end */
158
159
160/* Compatibility */
161#if !defined(LIBXML_DLL_IMPORT)
162#define LIBXML_DLL_IMPORT XMLPUBVAR
163#endif
164
165#endif /* __XML_EXPORTS_H__ */
166
167
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette