10 #ifndef LIBOPENMPT_CONFIG_H
11 #define LIBOPENMPT_CONFIG_H
22 #define LIBOPENMPT_API
24 #define LIBOPENMPT_CXX_API
25 #undef LIBOPENMPT_CXX_API
37 #define LIBOPENMPT_STREAM_CALLBACKS_BUFFER
50 #define LIBOPENMPT_STREAM_CALLBACKS_FD
63 #define LIBOPENMPT_STREAM_CALLBACKS_FILE
78 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_MINGW
93 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_MSVCRT
108 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_POSIX
123 #define LIBOPENMPT_STREAM_CALLBACKS_FILE_POSIX_LFS64
125 #if defined(__DOXYGEN__)
127 #define LIBOPENMPT_API_HELPER_EXPORT
128 #define LIBOPENMPT_API_HELPER_IMPORT
129 #define LIBOPENMPT_API_HELPER_PUBLIC
130 #define LIBOPENMPT_API_HELPER_LOCAL
132 #elif defined(_MSC_VER)
134 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
135 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
136 #define LIBOPENMPT_API_HELPER_PUBLIC
137 #define LIBOPENMPT_API_HELPER_LOCAL
139 #elif defined(__EMSCRIPTEN__)
141 #define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default"))) __attribute__((used))
142 #define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default"))) __attribute__((used))
143 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) __attribute__((used))
144 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
146 #elif (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32)
148 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
149 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
150 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
151 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
153 #elif defined(__GNUC__) || defined(__clang__)
155 #define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default")))
156 #define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default")))
157 #define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
158 #define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
160 #elif defined(_WIN32)
162 #define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
163 #define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
164 #define LIBOPENMPT_API_HELPER_PUBLIC
165 #define LIBOPENMPT_API_HELPER_LOCAL
169 #define LIBOPENMPT_API_HELPER_EXPORT
170 #define LIBOPENMPT_API_HELPER_IMPORT
171 #define LIBOPENMPT_API_HELPER_PUBLIC
172 #define LIBOPENMPT_API_HELPER_LOCAL
176 #if defined(LIBOPENMPT_BUILD_DLL)
177 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT
178 #elif defined(LIBOPENMPT_USE_DLL)
179 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT
181 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
186 #define LIBOPENMPT_CXX_API LIBOPENMPT_API
188 #if defined(LIBOPENMPT_USE_DLL)
189 #if defined(_MSC_VER) && !defined(_DLL)
190 #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."
191 #undef LIBOPENMPT_CXX_API
192 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
196 #if defined(__EMSCRIPTEN__)
199 #undef LIBOPENMPT_CXX_API
200 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
212 #if !defined(LIBOPENMPT_NO_DEPRECATE)
213 #if defined(__clang__)
214 #define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
215 #elif defined(__GNUC__)
216 #define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
217 #elif defined(_MSC_VER)
218 #define LIBOPENMPT_DEPRECATED __declspec(deprecated)
220 #define LIBOPENMPT_DEPRECATED
223 #define LIBOPENMPT_DEPRECATED
227 #if !defined(LIBOPENMPT_NO_DEPRECATE)
229 #define LIBOPENMPT_DEPRECATED_STRING( str ) ( LIBOPENMPT_DEPRECATED_STRING_CONSTANT ? ( str ) : ( str ) )
231 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
234 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
237 #if defined(__STDC__) && (__STDC__ == 1)
238 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
239 #define LIBOPENMPT_C_INLINE inline
241 #define LIBOPENMPT_C_INLINE
244 #define LIBOPENMPT_C_INLINE
252 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS)
255 #if !defined(LIBOPENMPT_NO_DEPRECATE)
256 #define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
258 #define LIBOPENMPT_ATTR_DEPRECATED
#define LIBOPENMPT_DEPRECATED
Definition: libopenmpt_config.h:220
static const int LIBOPENMPT_DEPRECATED_STRING_CONSTANT
Definition: libopenmpt_config.h:228