OSVR Framework (Internal Development Docs)
0.6-1962-g59773924
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Export.h
Go to the documentation of this file.
1
11
// Copyright 2016 Sensics, Inc.
12
//
13
// Licensed under the Apache License, Version 2.0 (the "License");
14
// you may not use this file except in compliance with the License.
15
// You may obtain a copy of the License at
16
//
17
// http://www.apache.org/licenses/LICENSE-2.0
18
//
19
// Unless required by applicable law or agreed to in writing, software
20
// distributed under the License is distributed on an "AS IS" BASIS,
21
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
// See the License for the specific language governing permissions and
23
// limitations under the License.
24
25
#ifndef OSVR_VRPNSERVER_EXPORT_H
26
#define OSVR_VRPNSERVER_EXPORT_H
27
28
#ifdef OSVR_VRPNSERVER_STATIC_DEFINE
29
# define OSVR_VRPNSERVER_EXPORT
30
# define OSVR_VRPNSERVER_NO_EXPORT
31
#endif
32
33
/* Per-compiler advance preventative definition */
34
#if defined(__BORLANDC__) || defined(__CODEGEARC__) || defined(__HP_aCC) || \
35
defined(__PGI) || defined(__WATCOMC__)
36
/* Compilers that don't support deprecated, according to CMake. */
37
# ifndef OSVR_VRPNSERVER_DEPRECATED
38
# define OSVR_VRPNSERVER_DEPRECATED
39
# endif
40
#endif
41
42
/* Check for attribute support */
43
#if defined(__INTEL_COMPILER)
44
/* Checking before GNUC because Intel implements GNU extensions,
45
* so it chooses to define __GNUC__ as well. */
46
# if __INTEL_COMPILER >= 1200
47
/* Intel compiler 12.0 or newer can handle these attributes per CMake */
48
# define OSVR_VRPNSERVER_EXPORT_HEADER_SUPPORTS_ATTRIBUTES
49
# endif
50
51
#elif defined(__GNUC__)
52
# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
53
/* GCC 4.2+ */
54
# define OSVR_VRPNSERVER_EXPORT_HEADER_SUPPORTS_ATTRIBUTES
55
# endif
56
#endif
57
58
/* Per-platform defines */
59
#if defined(_MSC_VER)
60
/* MSVC on Windows */
61
62
#ifndef OSVR_VRPNSERVER_EXPORT
63
# ifdef osvrVRPNServer_EXPORTS
64
/* We are building this library */
65
# define OSVR_VRPNSERVER_EXPORT __declspec(dllexport)
66
# else
67
/* We are using this library */
68
# define OSVR_VRPNSERVER_EXPORT __declspec(dllimport)
69
# endif
70
#endif
71
72
#ifndef OSVR_VRPNSERVER_DEPRECATED
73
# define OSVR_VRPNSERVER_DEPRECATED __declspec(deprecated)
74
#endif
75
76
#elif defined(_WIN32) && defined(__GNUC__)
77
/* GCC-compatible on Windows */
78
79
#ifndef OSVR_VRPNSERVER_EXPORT
80
# ifdef osvrVRPNServer_EXPORTS
81
/* We are building this library */
82
# define OSVR_VRPNSERVER_EXPORT __attribute__((dllexport))
83
# else
84
/* We are using this library */
85
# define OSVR_VRPNSERVER_EXPORT __attribute__((dllimport))
86
# endif
87
#endif
88
89
#ifndef OSVR_VRPNSERVER_DEPRECATED
90
# define OSVR_VRPNSERVER_DEPRECATED __attribute__((__deprecated__))
91
#endif
92
93
#elif defined(OSVR_VRPNSERVER_EXPORT_HEADER_SUPPORTS_ATTRIBUTES) || \
94
(defined(__APPLE__) && defined(__MACH__))
95
/* GCC4.2+ compatible (assuming something *nix-like) and Mac OS X */
96
/* (The first macro is defined at the top of the file, if applicable) */
97
/* see https://gcc.gnu.org/wiki/Visibility */
98
99
#ifndef OSVR_VRPNSERVER_EXPORT
100
/* We are building/using this library */
101
# define OSVR_VRPNSERVER_EXPORT __attribute__((visibility("default")))
102
#endif
103
104
#ifndef OSVR_VRPNSERVER_NO_EXPORT
105
# define OSVR_VRPNSERVER_NO_EXPORT __attribute__((visibility("hidden")))
106
#endif
107
108
#ifndef OSVR_VRPNSERVER_DEPRECATED
109
# define OSVR_VRPNSERVER_DEPRECATED __attribute__((__deprecated__))
110
#endif
111
112
#endif
113
/* End of platform ifdefs */
114
115
/* fallback def */
116
#ifndef OSVR_VRPNSERVER_EXPORT
117
# define OSVR_VRPNSERVER_EXPORT
118
#endif
119
120
/* fallback def */
121
#ifndef OSVR_VRPNSERVER_NO_EXPORT
122
# define OSVR_VRPNSERVER_NO_EXPORT
123
#endif
124
125
/* fallback def */
126
#ifndef OSVR_VRPNSERVER_DEPRECATED_EXPORT
127
# define OSVR_VRPNSERVER_DEPRECATED_EXPORT OSVR_VRPNSERVER_EXPORT OSVR_VRPNSERVER_DEPRECATED
128
#endif
129
130
/* fallback def */
131
#ifndef OSVR_VRPNSERVER_DEPRECATED_NO_EXPORT
132
# define OSVR_VRPNSERVER_DEPRECATED_NO_EXPORT OSVR_VRPNSERVER_NO_EXPORT OSVR_VRPNSERVER_DEPRECATED
133
#endif
134
135
/* Clean up after ourselves */
136
#undef OSVR_VRPNSERVER_EXPORT_HEADER_SUPPORTS_ATTRIBUTES
137
138
#endif
osvr
VRPNServer
Export.h
Generated on Tue May 16 2017 15:22:20 for OSVR Framework (Internal Development Docs) by
Doxygen
1.8.8