10 #ifndef LIBOPENMPT_CONFIG_H
11 #define LIBOPENMPT_CONFIG_H
22 #define LIBOPENMPT_API
24 #define LIBOPENMPT_CXX_API
25 #undef LIBOPENMPT_CXX_API
45 #define LIBOPENMPT_STREAM_CALLBACKS_BUFFER
58 #define LIBOPENMPT_STREAM_CALLBACKS_FD
71 #define LIBOPENMPT_STREAM_CALLBACKS_FILE
86 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_MINGW
101 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_MSVCRT
116 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_POSIX
131 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_POSIX_LFS64
141 #if defined(__DOXYGEN__)
143 #define LIBOPENMPT_API_HELPER_EXPORT
144 #define LIBOPENMPT_API_HELPER_IMPORT
145 #define LIBOPENMPT_API_HELPER_PUBLIC
146 #define LIBOPENMPT_API_HELPER_LOCAL
148 #elif defined(_MSC_VER)
150 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
151 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
152 #define LIBOPENMPT_API_HELPER_PUBLIC
153 #define LIBOPENMPT_API_HELPER_LOCAL
156 #define LIBOPENMPT_API_HELPER_EXPORT_CLASS __declspec(dllexport)
157 #define LIBOPENMPT_API_HELPER_IMPORT_CLASS __declspec(dllimport)
158 #define LIBOPENMPT_API_HELPER_PUBLIC_CLASS
159 #define LIBOPENMPT_API_HELPER_LOCAL_CLASS
162 #elif defined(__EMSCRIPTEN__)
164 #define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default"))) __attribute__((used))
165 #define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default"))) __attribute__((used))
166 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) __attribute__((used))
167 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
170 #define LIBOPENMPT_API_HELPER_EXPORT_CLASS __attribute__((visibility("default")))
171 #define LIBOPENMPT_API_HELPER_IMPORT_CLASS __attribute__((visibility("default")))
172 #define LIBOPENMPT_API_HELPER_PUBLIC_CLASS __attribute__((visibility("default")))
173 #define LIBOPENMPT_API_HELPER_LOCAL_CLASS __attribute__((visibility("hidden")))
174 #define LIBOPENMPT_API_HELPER_EXPORT_MEMBER __attribute__((visibility("default"))) __attribute__((used))
175 #define LIBOPENMPT_API_HELPER_IMPORT_MEMBER __attribute__((visibility("default"))) __attribute__((used))
176 #define LIBOPENMPT_API_HELPER_PUBLIC_MEMBER __attribute__((visibility("default"))) __attribute__((used))
177 #define LIBOPENMPT_API_HELPER_LOCAL_MEMBER __attribute__((visibility("hidden")))
180 #elif (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32)
182 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
183 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
184 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
185 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
188 #define LIBOPENMPT_API_HELPER_EXPORT_CLASS __declspec(dllexport)
189 #define LIBOPENMPT_API_HELPER_IMPORT_CLASS __declspec(dllimport)
190 #define LIBOPENMPT_API_HELPER_PUBLIC_CLASS __attribute__((visibility("default")))
191 #define LIBOPENMPT_API_HELPER_LOCAL_CLASS __attribute__((visibility("hidden")))
194 #elif defined(__GNUC__) || defined(__clang__)
196 #define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default")))
197 #define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default")))
198 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
199 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
202 #define LIBOPENMPT_API_HELPER_EXPORT_CLASS __attribute__((visibility("default")))
203 #define LIBOPENMPT_API_HELPER_IMPORT_CLASS __attribute__((visibility("default")))
204 #define LIBOPENMPT_API_HELPER_PUBLIC_CLASS __attribute__((visibility("default")))
205 #define LIBOPENMPT_API_HELPER_LOCAL_CLASS __attribute__((visibility("hidden")))
208 #elif defined(_WIN32)
210 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
211 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
212 #define LIBOPENMPT_API_HELPER_PUBLIC
213 #define LIBOPENMPT_API_HELPER_LOCAL
217 #define LIBOPENMPT_API_HELPER_EXPORT_CLASS __declspec(dllexport)
218 #define LIBOPENMPT_API_HELPER_IMPORT_CLASS __declspec(dllimport)
219 #define LIBOPENMPT_API_HELPER_PUBLIC_CLASS
220 #define LIBOPENMPT_API_HELPER_LOCAL_CLASS
226 #define LIBOPENMPT_API_HELPER_EXPORT
227 #define LIBOPENMPT_API_HELPER_IMPORT
228 #define LIBOPENMPT_API_HELPER_PUBLIC
229 #define LIBOPENMPT_API_HELPER_LOCAL
235 #ifndef LIBOPENMPT_API_HELPER_EXPORT_CLASS
236 #define LIBOPENMPT_API_HELPER_EXPORT_CLASS
238 #ifndef LIBOPENMPT_API_HELPER_EXPORT_MEMBER
239 #define LIBOPENMPT_API_HELPER_EXPORT_MEMBER
241 #ifndef LIBOPENMPT_API_HELPER_IMPORT_CLASS
242 #define LIBOPENMPT_API_HELPER_IMPORT_CLASS
244 #ifndef LIBOPENMPT_API_HELPER_IMPORT_MEMBER
245 #define LIBOPENMPT_API_HELPER_IMPORT_MEMBER
247 #ifndef LIBOPENMPT_API_HELPER_PUBLIC_CLASS
248 #define LIBOPENMPT_API_HELPER_PUBLIC_CLASS
250 #ifndef LIBOPENMPT_API_HELPER_PUBLIC_MEMBER
251 #define LIBOPENMPT_API_HELPER_PUBLIC_MEMBER
253 #ifndef LIBOPENMPT_API_HELPER_LOCAL_CLASS
254 #define LIBOPENMPT_API_HELPER_LOCAL_CLASS
256 #ifndef LIBOPENMPT_API_HELPER_LOCAL_MEMBER
257 #define LIBOPENMPT_API_HELPER_LOCAL_MEMBER
262 #if defined(LIBOPENMPT_BUILD_DLL)
263 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT
264 #elif defined(LIBOPENMPT_USE_DLL)
265 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT
267 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
272 #if defined(LIBOPENMPT_BUILD_DLL)
273 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_EXPORT
274 #define LIBOPENMPT_CXX_API_CLASS LIBOPENMPT_API_HELPER_EXPORT_CLASS
275 #define LIBOPENMPT_CXX_API_MEMBER LIBOPENMPT_API_HELPER_EXPORT_MEMBER
276 #elif defined(LIBOPENMPT_USE_DLL)
277 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_IMPORT
278 #define LIBOPENMPT_CXX_API_CLASS LIBOPENMPT_API_HELPER_IMPORT_CLASS
279 #define LIBOPENMPT_CXX_API_MEMBER LIBOPENMPT_API_HELPER_IMPORT_MEMBER
281 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_PUBLIC
282 #define LIBOPENMPT_CXX_API_CLASS LIBOPENMPT_API_HELPER_PUBLIC_CLASS
283 #define LIBOPENMPT_CXX_API_MEMBER LIBOPENMPT_API_HELPER_PUBLIC_MEMBER
286 #if defined(LIBOPENMPT_USE_DLL)
287 #if defined(_MSC_VER) && !defined(_DLL)
288 #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."
289 #undef LIBOPENMPT_CXX_API
290 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
291 #undef LIBOPENMPT_CXX_API_CLASS
292 #define LIBOPENMPT_CXX_API_CLASS LIBOPENMPT_API_HELPER_LOCAL_CLASS
293 #undef LIBOPENMPT_CXX_API_MEMBER
294 #define LIBOPENMPT_CXX_API_MEMBER LIBOPENMPT_API_HELPER_LOCAL_MEMBER
307 #if !defined(LIBOPENMPT_NO_DEPRECATE)
308 #if defined(__clang__)
309 #define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
310 #elif defined(__GNUC__)
311 #define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
312 #elif defined(_MSC_VER)
313 #define LIBOPENMPT_DEPRECATED __declspec(deprecated)
315 #define LIBOPENMPT_DEPRECATED
318 #define LIBOPENMPT_DEPRECATED
322 #if !defined(LIBOPENMPT_NO_DEPRECATE)
324 #define LIBOPENMPT_DEPRECATED_STRING( str ) ( LIBOPENMPT_DEPRECATED_STRING_CONSTANT ? ( str ) : ( str ) )
326 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
329 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
332 #if defined(__STDC__) && (__STDC__ == 1)
333 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
334 #define LIBOPENMPT_C_INLINE inline
336 #define LIBOPENMPT_C_INLINE
339 #define LIBOPENMPT_C_INLINE
347 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS)
350 #if !defined(LIBOPENMPT_NO_DEPRECATE)
351 #define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
353 #define LIBOPENMPT_ATTR_DEPRECATED
#define LIBOPENMPT_DEPRECATED
Definition: libopenmpt_config.h:315
static const int LIBOPENMPT_DEPRECATED_STRING_CONSTANT
Definition: libopenmpt_config.h:323