libopenmpt
0.2.4764
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
Macros
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)
100
#define LIBOPENMPT_ANCIENT_COMPILER
101
#endif
102
#endif
103
104
#if defined(__GNUC__) && !defined(__clang__)
105
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__*1 < 40300)
106
#define LIBOPENMPT_ANCIENT_COMPILER
107
#endif
108
#endif
109
110
#ifdef __cplusplus
111
#ifdef LIBOPENMPT_ANCIENT_COMPILER
112
#include <stdint.h>
113
namespace
std {
114
typedef
int8_t int8_t;
115
typedef
int16_t int16_t;
116
typedef
int32_t int32_t;
117
typedef
int64_t int64_t;
118
typedef
uint8_t uint8_t;
119
typedef
uint16_t uint16_t;
120
typedef
uint32_t uint32_t;
121
typedef
uint64_t uint64_t;
122
}
123
#endif
124
#endif
125
126
#include "
libopenmpt_version.h
"
127
128
#endif
/* LIBOPENMPT_CONFIG_H */
libopenmpt
libopenmpt_config.h
Generated on Tue Feb 17 2015 10:37:27 for libopenmpt by
1.8.1.2