summaryrefslogtreecommitdiffstats
path: root/include/orcus/env.hpp
blob: 47dc153344d8c6a10d847cbef7cfb254fb8377bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

#ifndef __ORCUS_ENV_HPP__
#define __ORCUS_ENV_HPP__

// orcus

#if defined _WIN32 || defined __CYGWIN__
  #if defined __MINGW32__
    #define ORCUS_DLLPUBLIC
    #define ORCUS_DLLLOCAL
  #elif defined __ORCUS_BUILDING_DLL
    #ifdef __GNUC__
      #define ORCUS_DLLPUBLIC __attribute__ ((dllexport))
    #else
      #define ORCUS_DLLPUBLIC __declspec(dllexport)
    #endif
  #elif defined __ORCUS_STATIC_LIB
      #define ORCUS_DLLPUBLIC
  #else
    #ifdef __GNUC__
      #define ORCUS_DLLPUBLIC __attribute__ ((dllimport))
    #else
      #define ORCUS_DLLPUBLIC __declspec(dllimport)
    #endif
  #endif
  #define ORCUS_DLLLOCAL
#else
  #if __GNUC__ >= 4
    #define ORCUS_DLLPUBLIC __attribute__ ((visibility ("default")))
    #define ORCUS_DLLLOCAL  __attribute__ ((visibility ("hidden")))
  #else
    #define ORCUS_DLLPUBLIC
    #define ORCUS_DLLLOCAL
  #endif
#endif

// orcus-parser

#if defined _WIN32 || defined __CYGWIN__
  #if defined __MINGW32__
    #define ORCUS_PSR_DLLPUBLIC
    #define ORCUS_PSR_DLLLOCAL
  #elif defined __ORCUS_PSR_BUILDING_DLL
    #ifdef __GNUC__
      #define ORCUS_PSR_DLLPUBLIC __attribute__ ((dllexport))
    #else
      #define ORCUS_PSR_DLLPUBLIC __declspec(dllexport)
    #endif
  #elif defined __ORCUS_PSR_STATIC_LIB
      #define ORCUS_PSR_DLLPUBLIC
  #else
    #ifdef __GNUC__
      #define ORCUS_PSR_DLLPUBLIC __attribute__ ((dllimport))
    #else
      #define ORCUS_PSR_DLLPUBLIC __declspec(dllimport)
    #endif
  #endif
  #define ORCUS_PSR_DLLLOCAL
#else
  #if __GNUC__ >= 4
    #define ORCUS_PSR_DLLPUBLIC __attribute__ ((visibility ("default")))
    #define ORCUS_PSR_DLLLOCAL  __attribute__ ((visibility ("hidden")))
  #else
    #define ORCUS_PSR_DLLPUBLIC
    #define ORCUS_PSR_DLLLOCAL
  #endif
#endif

// orcus-spreadsheet-model

#if defined _WIN32 || defined __CYGWIN__
  #if defined __MINGW32__
    #define ORCUS_SPM_DLLPUBLIC
    #define ORCUS_SPM_DLLLOCAL
  #elif defined __ORCUS_SPM_BUILDING_DLL
    #ifdef __GNUC__
      #define ORCUS_SPM_DLLPUBLIC __attribute__ ((dllexport))
    #else
      #define ORCUS_SPM_DLLPUBLIC __declspec(dllexport)
    #endif
  #elif defined __ORCUS_SPM_STATIC_LIB
      #define ORCUS_SPM_DLLPUBLIC
  #else
    #ifdef __GNUC__
      #define ORCUS_SPM_DLLPUBLIC __attribute__ ((dllimport))
    #else
      #define ORCUS_SPM_DLLPUBLIC __declspec(dllimport)
    #endif
  #endif
  #define ORCUS_SPM_DLLLOCAL
#else
  #if __GNUC__ >= 4
    #define ORCUS_SPM_DLLPUBLIC __attribute__ ((visibility ("default")))
    #define ORCUS_SPM_DLLLOCAL  __attribute__ ((visibility ("hidden")))
  #else
    #define ORCUS_SPM_DLLPUBLIC
    #define ORCUS_SPM_DLLLOCAL
  #endif
#endif

// orcus-mso

#if defined _WIN32 || defined __CYGWIN__
  #if defined __MINGW32__
    #define ORCUS_MSO_DLLPUBLIC
    #define ORCUS_MSO_DLLLOCAL
  #elif defined __ORCUS_MSO_BUILDING_DLL
    #ifdef __GNUC__
      #define ORCUS_MSO_DLLPUBLIC __attribute__ ((dllexport))
    #else
      #define ORCUS_MSO_DLLPUBLIC __declspec(dllexport)
    #endif
  #elif defined __ORCUS_MSO_STATIC_LIB
      #define ORCUS_MSO_DLLPUBLIC
  #else
    #ifdef __GNUC__
      #define ORCUS_MSO_DLLPUBLIC __attribute__ ((dllimport))
    #else
      #define ORCUS_MSO_DLLPUBLIC __declspec(dllimport)
    #endif
  #endif
  #define ORCUS_MSO_DLLLOCAL
#else
  #if __GNUC__ >= 4
    #define ORCUS_MSO_DLLPUBLIC __attribute__ ((visibility ("default")))
    #define ORCUS_MSO_DLLLOCAL  __attribute__ ((visibility ("hidden")))
  #else
    #define ORCUS_MSO_DLLPUBLIC
    #define ORCUS_MSO_DLLLOCAL
  #endif
#endif

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */