libopenmpt
0.4.3+release.autotools
cross-platform C++ and C library to decode tracked music files
libopenmpt_config.h
Go to the documentation of this file.
1
/*
2
* libopenmpt_config.h
3
* -------------------
4
* Purpose: libopenmpt public interface configuration
5
* Notes : (currently none)
6
* Authors: OpenMPT Devs
7
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
8
*/
9
10
#ifndef LIBOPENMPT_CONFIG_H
11
#define LIBOPENMPT_CONFIG_H
12
19
/* provoke warnings if already defined */
20
#define LIBOPENMPT_API
21
#undef LIBOPENMPT_API
22
#define LIBOPENMPT_CXX_API
23
#undef LIBOPENMPT_CXX_API
24
26
#define LIBOPENMPT_STREAM_CALLBACKS_BUFFER
27
39
#define LIBOPENMPT_STREAM_CALLBACKS_FD
40
52
#define LIBOPENMPT_STREAM_CALLBACKS_FILE
53
54
#if defined(__DOXYGEN__)
55
56
#define LIBOPENMPT_API_HELPER_EXPORT
57
#define LIBOPENMPT_API_HELPER_IMPORT
58
#define LIBOPENMPT_API_HELPER_PUBLIC
59
#define LIBOPENMPT_API_HELPER_LOCAL
60
61
#elif defined(_MSC_VER)
62
63
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
64
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
65
#define LIBOPENMPT_API_HELPER_PUBLIC
66
#define LIBOPENMPT_API_HELPER_LOCAL
67
68
#elif defined(__EMSCRIPTEN__)
69
70
#define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default"))) __attribute__((used))
71
#define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default"))) __attribute__((used))
72
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) __attribute__((used))
73
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
74
75
#elif (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32)
76
77
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
78
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
79
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
80
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
81
82
#elif defined(__GNUC__) || defined(__clang__)
83
84
#define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default")))
85
#define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default")))
86
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
87
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
88
89
#elif defined(_WIN32)
90
91
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
92
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
93
#define LIBOPENMPT_API_HELPER_PUBLIC
94
#define LIBOPENMPT_API_HELPER_LOCAL
95
96
#else
97
98
#define LIBOPENMPT_API_HELPER_EXPORT
99
#define LIBOPENMPT_API_HELPER_IMPORT
100
#define LIBOPENMPT_API_HELPER_PUBLIC
101
#define LIBOPENMPT_API_HELPER_LOCAL
102
103
#endif
104
105
#if defined(LIBOPENMPT_BUILD_DLL)
106
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT
107
#elif defined(LIBOPENMPT_USE_DLL)
108
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT
109
#else
110
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
111
#endif
112
113
#ifdef __cplusplus
114
115
#define LIBOPENMPT_CXX_API LIBOPENMPT_API
116
117
#if defined(LIBOPENMPT_USE_DLL)
118
#if defined(_MSC_VER) && !defined(_DLL)
119
#error "C++ interface is disabled if libopenmpt is built as a DLL and the runtime is statically linked. This is not supported by microsoft and cannot possibly work. Ever."
120
#undef LIBOPENMPT_CXX_API
121
#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
122
#endif
123
#endif
124
125
#if defined(__EMSCRIPTEN__)
126
127
/* Only the C API is supported for emscripten. Disable the C++ API. */
128
#undef LIBOPENMPT_CXX_API
129
#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
130
#endif
131
132
#endif
133
139
/* C */
140
141
#if !defined(LIBOPENMPT_NO_DEPRECATE)
142
#if defined(__clang__)
143
#define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
144
#elif defined(__GNUC__)
145
#define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
146
#elif defined(_MSC_VER)
147
#define LIBOPENMPT_DEPRECATED __declspec(deprecated)
148
#else
149
#define LIBOPENMPT_DEPRECATED
150
#endif
151
#endif
152
153
#ifndef __cplusplus
154
#if !defined(LIBOPENMPT_NO_DEPRECATE)
155
LIBOPENMPT_DEPRECATED
static
const
int
LIBOPENMPT_DEPRECATED_STRING_CONSTANT
= 0;
156
#define LIBOPENMPT_DEPRECATED_STRING( str ) ( LIBOPENMPT_DEPRECATED_STRING_CONSTANT ? ( str ) : ( str ) )
157
#else
158
#define LIBOPENMPT_DEPRECATED_STRING( str ) str
159
#endif
160
#endif
161
162
163
/* C++ */
164
165
#ifdef __cplusplus
166
167
#ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED
168
/* handle known broken compilers here by defining LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED appropriately */
169
#endif
170
171
#if defined(LIBOPENMPT_ASSUME_CPLUSPLUS)
172
#ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED
173
#define LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED LIBOPENMPT_ASSUME_CPLUSPLUS
174
#endif
175
#endif
176
177
#if !defined(LIBOPENMPT_NO_DEPRECATE)
178
#if defined(LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED)
179
#if (LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED >= 201402L)
180
#define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
181
#undef LIBOPENMPT_DEPRECATED
182
#define LIBOPENMPT_DEPRECATED
183
#else
184
#define LIBOPENMPT_ATTR_DEPRECATED
185
#endif
186
#elif (__cplusplus >= 201402L)
187
#define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
188
#undef LIBOPENMPT_DEPRECATED
189
#define LIBOPENMPT_DEPRECATED
190
#else
191
#define LIBOPENMPT_ATTR_DEPRECATED
192
#endif
193
#else
194
#undef LIBOPENMPT_DEPRECATED
195
#define LIBOPENMPT_DEPRECATED
196
#define LIBOPENMPT_ATTR_DEPRECATED
197
#endif
198
199
#endif
200
201
202
#include "
libopenmpt_version.h
"
203
204
#endif
/* LIBOPENMPT_CONFIG_H */
LIBOPENMPT_DEPRECATED
#define LIBOPENMPT_DEPRECATED
Definition:
libopenmpt_config.h:149
LIBOPENMPT_DEPRECATED_STRING_CONSTANT
static const int LIBOPENMPT_DEPRECATED_STRING_CONSTANT
Definition:
libopenmpt_config.h:155
libopenmpt_version.h
libopenmpt
libopenmpt_config.h
Generated on Fri Jul 17 2020 18:17:20 for libopenmpt by
1.8.20