10 #ifndef LIBOPENMPT_CONFIG_H
11 #define LIBOPENMPT_CONFIG_H
20 #define LIBOPENMPT_API
22 #define LIBOPENMPT_CXX_API
23 #undef LIBOPENMPT_CXX_API
26 #define LIBOPENMPT_STREAM_CALLBACKS_BUFFER
39 #define LIBOPENMPT_STREAM_CALLBACKS_FD
52 #define LIBOPENMPT_STREAM_CALLBACKS_FILE
54 #if defined(__DOXYGEN__)
56 #define LIBOPENMPT_API_HELPER_EXPORT
57 #define LIBOPENMPT_API_HELPER_IMPORT
58 #define LIBOPENMPT_API_HELPER_PUBLIC
59 #define LIBOPENMPT_API_HELPER_LOCAL
61 #elif defined(_MSC_VER)
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
68 #elif defined(__EMSCRIPTEN__)
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")))
75 #elif (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32)
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")))
82 #elif defined(__GNUC__) || defined(__clang__)
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")))
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
98 #define LIBOPENMPT_API_HELPER_EXPORT
99 #define LIBOPENMPT_API_HELPER_IMPORT
100 #define LIBOPENMPT_API_HELPER_PUBLIC
101 #define LIBOPENMPT_API_HELPER_LOCAL
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
110 #define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
115 #define LIBOPENMPT_CXX_API LIBOPENMPT_API
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
125 #if defined(__EMSCRIPTEN__)
128 #undef LIBOPENMPT_CXX_API
129 #define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
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)
149 #define LIBOPENMPT_DEPRECATED
154 #if !defined(LIBOPENMPT_NO_DEPRECATE)
156 #define LIBOPENMPT_DEPRECATED_STRING( str ) ( LIBOPENMPT_DEPRECATED_STRING_CONSTANT ? ( str ) : ( str ) )
158 #define LIBOPENMPT_DEPRECATED_STRING( str ) str
167 #ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT
170 #if defined(__clang__)
171 #define LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT 201103L
172 #elif defined(_MSC_VER)
173 #if (_MSC_VER >= 1600)
174 #define LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT 201103L
176 #define LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT 199711L
178 #elif defined(__GNUC__)
179 #if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__*1 < 40300)
180 #define LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT 199711L
182 #define LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT 201103L
187 #ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED
191 #ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT
195 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS)
196 #ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT
197 #define LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT LIBOPENMPT_ASSUME_CPLUSPLUS
199 #ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED
200 #define LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED LIBOPENMPT_ASSUME_CPLUSPLUS
202 #ifndef LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT
203 #define LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT LIBOPENMPT_ASSUME_CPLUSPLUS
207 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT)
208 #if (LIBOPENMPT_ASSUME_CPLUSPLUS_CSTDINT < 201103L)
209 #define LIBOPENMPT_QUIRK_NO_CSTDINT
211 #elif (__cplusplus < 201103L)
212 #define LIBOPENMPT_QUIRK_NO_CSTDINT
215 #if !defined(LIBOPENMPT_NO_DEPRECATE)
216 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED)
217 #if (LIBOPENMPT_ASSUME_CPLUSPLUS_DEPRECATED >= 201402L)
218 #define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
219 #undef LIBOPENMPT_DEPRECATED
220 #define LIBOPENMPT_DEPRECATED
222 #define LIBOPENMPT_ATTR_DEPRECATED
224 #elif (__cplusplus >= 201402L)
225 #define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
226 #undef LIBOPENMPT_DEPRECATED
227 #define LIBOPENMPT_DEPRECATED
229 #define LIBOPENMPT_ATTR_DEPRECATED
232 #undef LIBOPENMPT_DEPRECATED
233 #define LIBOPENMPT_DEPRECATED
234 #define LIBOPENMPT_ATTR_DEPRECATED
237 #if defined(LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT)
238 #if (LIBOPENMPT_ASSUME_CPLUSPLUS_NOEXCEPT >= 201103L)
239 #define LIBOPENMPT_NOEXCEPT noexcept
241 #define LIBOPENMPT_NOEXCEPT throw()
243 #elif (__cplusplus >= 201103L)
244 #define LIBOPENMPT_NOEXCEPT noexcept
246 #define LIBOPENMPT_NOEXCEPT throw()
#define LIBOPENMPT_DEPRECATED
Definition: libopenmpt_config.h:149
static const int LIBOPENMPT_DEPRECATED_STRING_CONSTANT
Definition: libopenmpt_config.h:155