libopenmpt
0.2.4259
cross-platform C++ and C library to decode tracked music files
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
libopenmpt_config.h
Go to the documentation of this file.
1
/*
2
* libopenmpt_config.h
3
* -------------------
4
* Purpose: libopenmpt public interface configuration
5
* Notes : (currently none)
6
* Authors: OpenMPT Devs
7
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
8
*/
9
10
#ifndef LIBOPENMPT_CONFIG_H
11
#define LIBOPENMPT_CONFIG_H
12
19
/* provoke warnings if already defined */
20
#define LIBOPENMPT_API
21
#undef LIBOPENMPT_API
22
#define LIBOPENMPT_CXX_API
23
#undef LIBOPENMPT_CXX_API
24
25
#if defined(__DOXYGEN__)
26
27
#define LIBOPENMPT_API_HELPER_EXPORT
28
#define LIBOPENMPT_API_HELPER_IMPORT
29
#define LIBOPENMPT_API_HELPER_PUBLIC
30
#define LIBOPENMPT_API_HELPER_LOCAL
31
32
#elif defined(_MSC_VER)
33
34
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
35
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
36
#define LIBOPENMPT_API_HELPER_PUBLIC
37
#define LIBOPENMPT_API_HELPER_LOCAL
38
39
#elif defined(__GNUC__) || defined(__clang__)
40
41
#if !defined(__EMSCRIPTEN__)
42
#if defined(_WIN32)
43
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
44
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
45
#else
46
#define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default")))
47
#define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default")))
48
#endif
49
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
50
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
51
#else
52
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) __attribute__((used))
53
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
54
#endif
55
56
#else
57
58
#define LIBOPENMPT_API_HELPER_EXPORT
59
#define LIBOPENMPT_API_HELPER_IMPORT
60
#define LIBOPENMPT_API_HELPER_PUBLIC
61
#define LIBOPENMPT_API_HELPER_LOCAL
62
63
#endif
64
65
#if defined(LIBOPENMPT_BUILD_DLL)
66
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT
67
#elif defined(LIBOPENMPT_USE_DLL)
68
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT
69
#else
70
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
71
#endif
72
73
#ifdef __cplusplus
74
75
#define LIBOPENMPT_CXX_API LIBOPENMPT_API
76
77
#if defined(LIBOPENMPT_USE_DLL)
78
#if defined(_MSC_VER) && !defined(_DLL)
79
#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."
80
#undef LIBOPENMPT_CXX_API
81
#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
82
#endif
83
#endif
84
85
#if defined(__EMSCRIPTEN__)
86
87
/* Only the C API is supported for emscripten. Disable the C++ API. */
88
#undef LIBOPENMPT_CXX_API
89
#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
90
#endif
91
92
#endif
93
98
#if defined(_MSC_VER)
99
#if (_MSC_VER >= 1500) && (_MSC_VER < 1600) // VS2008
100
#define MPT_ANCIENT_VS2008
101
#endif
102
#endif
103
104
#include "
libopenmpt_version.h
"
105
106
#endif
/* LIBOPENMPT_CONFIG_H */
libopenmpt
libopenmpt_config.h
Generated on Sun Sep 7 2014 17:28:05 for libopenmpt by
1.8.1.2