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
155 #elif defined(__EMSCRIPTEN__)
157 #define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default"))) __attribute__((used))
158 #define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default"))) __attribute__((used))
159 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) __attribute__((used))
160 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
162 #elif (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32)
164 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
165 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
166 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
167 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
169 #elif defined(__GNUC__) || defined(__clang__)
171 #define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default")))
172 #define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default")))
173 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
174 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
176 #elif defined(_WIN32)
178 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
179 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
180 #define LIBOPENMPT_API_HELPER_PUBLIC
181 #define LIBOPENMPT_API_HELPER_LOCAL
185 #define LIBOPENMPT_API_HELPER_EXPORT
186 #define LIBOPENMPT_API_HELPER_IMPORT
187 #define LIBOPENMPT_API_HELPER_PUBLIC
188 #define LIBOPENMPT_API_HELPER_LOCAL
192 #if defined(LIBOPENMPT_BUILD_DLL)
193 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT
194 #elif defined(LIBOPENMPT_USE_DLL)
195 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT
197 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
202 #define LIBOPENMPT_CXX_API LIBOPENMPT_API
204 #if defined(LIBOPENMPT_USE_DLL)
205 #if defined(_MSC_VER) && !defined(_DLL)
206 #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."
207 #undef LIBOPENMPT_CXX_API
208 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
212 #if defined(__EMSCRIPTEN__)
215 #undef LIBOPENMPT_CXX_API
216 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
228 #if !defined(LIBOPENMPT_NO_DEPRECATE)
229 #if defined(__clang__)
230 #define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
231 #elif defined(__GNUC__)
232 #define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
233 #elif defined(_MSC_VER)
234 #define LIBOPENMPT_DEPRECATED __declspec(deprecated)
236 #define LIBOPENMPT_DEPRECATED
239 #define LIBOPENMPT_DEPRECATED
243 #if !defined(LIBOPENMPT_NO_DEPRECATE)
245 #define LIBOPENMPT_DEPRECATED_STRING( str ) ( LIBOPENMPT_DEPRECATED_STRING_CONSTANT ? ( str ) : ( str ) )
247 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
250 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
253 #if defined(__STDC__) && (__STDC__ == 1)
254 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
255 #define LIBOPENMPT_C_INLINE inline
257 #define LIBOPENMPT_C_INLINE
260 #define LIBOPENMPT_C_INLINE
268 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS)
271 #if !defined(LIBOPENMPT_NO_DEPRECATE)
272 #define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
274 #define LIBOPENMPT_ATTR_DEPRECATED
#define LIBOPENMPT_DEPRECATED
Definition: libopenmpt_config.h:236
static const int LIBOPENMPT_DEPRECATED_STRING_CONSTANT
Definition: libopenmpt_config.h:244