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 | |
8 | #ifndef __XML_EXPORTS_H__ |
9 | #define __XML_EXPORTS_H__ |
10 | |
11 | #if defined(_WIN32) || defined(__CYGWIN__) |
12 | /** DOC_DISABLE */ |
13 | |
14 | #ifdef LIBXML_STATIC |
15 | #define XMLPUBLIC |
16 | #elif defined(IN_LIBXML) |
17 | #define XMLPUBLIC __declspec(dllexport) |
18 | #else |
19 | #define XMLPUBLIC __declspec(dllimport) |
20 | #endif |
21 | |
22 | #if defined(LIBXML_FASTCALL) |
23 | #define XMLCALL __fastcall |
24 | #else |
25 | #define XMLCALL __cdecl |
26 | #endif |
27 | #define XMLCDECL __cdecl |
28 | |
29 | /** DOC_ENABLE */ |
30 | #else /* not Windows */ |
31 | |
32 | /** |
33 | * XMLPUBLIC: |
34 | * |
35 | * Macro which declares a public symbol |
36 | */ |
37 | #define XMLPUBLIC |
38 | |
39 | /** |
40 | * XMLCALL: |
41 | * |
42 | * Macro which declares the calling convention for exported functions |
43 | */ |
44 | #define XMLCALL |
45 | |
46 | /** |
47 | * XMLCDECL: |
48 | * |
49 | * Macro which declares the calling convention for exported functions that |
50 | * use '...'. |
51 | */ |
52 | #define XMLCDECL |
53 | |
54 | #endif /* platform switch */ |
55 | |
56 | /* |
57 | * XMLPUBFUN: |
58 | * |
59 | * Macro which declares an exportable function |
60 | */ |
61 | #define XMLPUBFUN XMLPUBLIC |
62 | |
63 | /** |
64 | * XMLPUBVAR: |
65 | * |
66 | * Macro which declares an exportable variable |
67 | */ |
68 | #define XMLPUBVAR XMLPUBLIC extern |
69 | |
70 | /* Compatibility */ |
71 | #if !defined(LIBXML_DLL_IMPORT) |
72 | #define LIBXML_DLL_IMPORT XMLPUBVAR |
73 | #endif |
74 | |
75 | #endif /* __XML_EXPORTS_H__ */ |
76 | |
77 | |
78 | |