Simple C Expat Wrapper (SCEW)  1.1.7
export.h
Go to the documentation of this file.
1 
29 #ifndef EXPORT_H_0909040014
30 #define EXPORT_H_0909040014
31 
32 #if !defined (_MSC_VER) && defined (XML_UNICODE_WCHAR_T)
33 #error UTF-16 support is only available in Windows platforms
34 #endif
35 
36 #if defined (_MSC_VER) || defined (__CYGWIN__)
37 
38  #define SCEW_DLL_IMPORT __declspec(dllimport)
39  #define SCEW_DLL_EXPORT __declspec(dllexport)
40  #define SCEW_DLL_LOCAL
41 
42 #else
43 
44  #if __GNUC__ >= 4
45  #define SCEW_DLL_IMPORT __attribute__ ((visibility("default")))
46  #define SCEW_DLL_EXPORT __attribute__ ((visibility("default")))
47  #define SCEW_DLL_LOCAL __attribute__ ((visibility("hidden")))
48  #else
49  #define SCEW_DLL_IMPORT
50  #define SCEW_DLL_EXPORT
51  #define SCEW_DLL_LOCAL
52  #endif /* __GNUC__ >= 4 */
53 
54  #ifdef PIC /* This will tell us if we are building a shared library. */
55  #define SCEW_DLL
56  #endif /* PIC */
57 
58 #endif /* _MSC_VER || __CYGWIN__ */
59 
60 #ifdef SCEW_DLL /* Defined if SCEW is compiled as a DLL. */
61 
62  #ifdef DLL_EXPORTS /* Defined if we are building the SCEW DLL. */
63  #define SCEW_API SCEW_DLL_EXPORT
64  #else
65  #define SCEW_API SCEW_DLL_IMPORT
66  #endif /* DLL_EXPORTS */
67 
68  #define SCEW_LOCAL SCEW_DLL_LOCAL
69 
70 #else /* SCEW_DLL is not defined: this means SCEW is a static lib. */
71 
72  #define SCEW_API
73  #define SCEW_LOCAL
74 
75 #endif /* SCEW_DLL */
76 
77 #endif /* EXPORT_H_0909040014 */