Orcus
Loading...
Searching...
No Matches
env.hpp
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 */
7
8#ifndef __ORCUS_ENV_HPP__
9#define __ORCUS_ENV_HPP__
10
11// orcus
12
13#if defined _WIN32 || defined __CYGWIN__
14 #if defined __ORCUS_BUILDING_DLL
15 #ifdef __GNUC__
16 #define ORCUS_DLLPUBLIC __attribute__ ((dllexport))
17 #else
18 #define ORCUS_DLLPUBLIC __declspec(dllexport)
19 #endif
20 #elif defined __ORCUS_STATIC_LIB
21 #define ORCUS_DLLPUBLIC
22 #else
23 #ifdef __GNUC__
24 #define ORCUS_DLLPUBLIC __attribute__ ((dllimport))
25 #else
26 #define ORCUS_DLLPUBLIC __declspec(dllimport)
27 #endif
28 #endif
29 #define ORCUS_DLLLOCAL
30#else
31 #if __GNUC__ >= 4
32 #define ORCUS_DLLPUBLIC __attribute__ ((visibility ("default")))
33 #define ORCUS_DLLLOCAL __attribute__ ((visibility ("hidden")))
34 #else
35 #define ORCUS_DLLPUBLIC
36 #define ORCUS_DLLLOCAL
37 #endif
38#endif
39
40// orcus-parser
41
42#if defined _WIN32 || defined __CYGWIN__
43 #if defined __ORCUS_PSR_BUILDING_DLL
44 #ifdef __GNUC__
45 #define ORCUS_PSR_DLLPUBLIC __attribute__ ((dllexport))
46 #else
47 #define ORCUS_PSR_DLLPUBLIC __declspec(dllexport)
48 #endif
49 #elif defined __ORCUS_PSR_STATIC_LIB
50 #define ORCUS_PSR_DLLPUBLIC
51 #else
52 #ifdef __GNUC__
53 #define ORCUS_PSR_DLLPUBLIC __attribute__ ((dllimport))
54 #else
55 #define ORCUS_PSR_DLLPUBLIC __declspec(dllimport)
56 #endif
57 #endif
58 #define ORCUS_PSR_DLLLOCAL
59#else
60 #if __GNUC__ >= 4
61 #define ORCUS_PSR_DLLPUBLIC __attribute__ ((visibility ("default")))
62 #define ORCUS_PSR_DLLLOCAL __attribute__ ((visibility ("hidden")))
63 #else
64 #define ORCUS_PSR_DLLPUBLIC
65 #define ORCUS_PSR_DLLLOCAL
66 #endif
67#endif
68
69// orcus-spreadsheet-model
70
71#if defined _WIN32 || defined __CYGWIN__
72 #if defined __ORCUS_SPM_BUILDING_DLL
73 #ifdef __GNUC__
74 #define ORCUS_SPM_DLLPUBLIC __attribute__ ((dllexport))
75 #else
76 #define ORCUS_SPM_DLLPUBLIC __declspec(dllexport)
77 #endif
78 #elif defined __ORCUS_SPM_STATIC_LIB
79 #define ORCUS_SPM_DLLPUBLIC
80 #else
81 #ifdef __GNUC__
82 #define ORCUS_SPM_DLLPUBLIC __attribute__ ((dllimport))
83 #else
84 #define ORCUS_SPM_DLLPUBLIC __declspec(dllimport)
85 #endif
86 #endif
87 #define ORCUS_SPM_DLLLOCAL
88#else
89 #if __GNUC__ >= 4
90 #define ORCUS_SPM_DLLPUBLIC __attribute__ ((visibility ("default")))
91 #define ORCUS_SPM_DLLLOCAL __attribute__ ((visibility ("hidden")))
92 #else
93 #define ORCUS_SPM_DLLPUBLIC
94 #define ORCUS_SPM_DLLLOCAL
95 #endif
96#endif
97
98// orcus-mso
99
100#if defined _WIN32 || defined __CYGWIN__
101 #if defined __ORCUS_MSO_BUILDING_DLL
102 #ifdef __GNUC__
103 #define ORCUS_MSO_DLLPUBLIC __attribute__ ((dllexport))
104 #else
105 #define ORCUS_MSO_DLLPUBLIC __declspec(dllexport)
106 #endif
107 #elif defined __ORCUS_MSO_STATIC_LIB
108 #define ORCUS_MSO_DLLPUBLIC
109 #else
110 #ifdef __GNUC__
111 #define ORCUS_MSO_DLLPUBLIC __attribute__ ((dllimport))
112 #else
113 #define ORCUS_MSO_DLLPUBLIC __declspec(dllimport)
114 #endif
115 #endif
116 #define ORCUS_MSO_DLLLOCAL
117#else
118 #if __GNUC__ >= 4
119 #define ORCUS_MSO_DLLPUBLIC __attribute__ ((visibility ("default")))
120 #define ORCUS_MSO_DLLLOCAL __attribute__ ((visibility ("hidden")))
121 #else
122 #define ORCUS_MSO_DLLPUBLIC
123 #define ORCUS_MSO_DLLLOCAL
124 #endif
125#endif
126
127#endif
128
129/* vim:set shiftwidth=4 softtabstop=4 expandtab: */