10#ifndef LIBOPENMPT_CONFIG_H
11#define LIBOPENMPT_CONFIG_H
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")))
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