87 lines
2.2 KiB
C++
87 lines
2.2 KiB
C++
/*
|
|
* openmpt123_config.hpp
|
|
* ---------------------
|
|
* Purpose: libopenmpt command line player
|
|
* Notes : (currently none)
|
|
* Authors: OpenMPT Devs
|
|
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
|
*/
|
|
|
|
#ifndef OPENMPT123_CONFIG_HPP
|
|
#define OPENMPT123_CONFIG_HPP
|
|
|
|
#define MPT_PP_DEFER(m, ...) m(__VA_ARGS__)
|
|
#define MPT_PP_STRINGIFY(x) #x
|
|
#define MPT_PP_JOIN_HELPER(a, b) a ## b
|
|
#define MPT_PP_JOIN(a, b) MPT_PP_JOIN_HELPER(a, b)
|
|
#define MPT_PP_UNIQUE_IDENTIFIER(prefix) MPT_PP_JOIN(prefix , __LINE__)
|
|
|
|
#if defined(__clang__)
|
|
#define MPT_WARNING(text) _Pragma(MPT_PP_STRINGIFY(GCC warning text))
|
|
#define MPT_WARNING_STATEMENT(text) _Pragma(MPT_PP_STRINGIFY(GCC warning text))
|
|
#elif defined(_MSC_VER)
|
|
#define MPT_WARNING(text) __pragma(message(__FILE__ "(" MPT_PP_DEFER(MPT_PP_STRINGIFY, __LINE__) "): Warning: " text))
|
|
#define MPT_WARNING_STATEMENT(text) __pragma(message(__FILE__ "(" MPT_PP_DEFER(MPT_PP_STRINGIFY, __LINE__) "): Warning: " text))
|
|
#elif defined(__GNUC__)
|
|
#define MPT_WARNING(text) _Pragma(MPT_PP_STRINGIFY(GCC warning text))
|
|
#define MPT_WARNING_STATEMENT(text) _Pragma(MPT_PP_STRINGIFY(GCC warning text))
|
|
#else
|
|
#define MPT_WARNING(text) \
|
|
static inline int MPT_PP_UNIQUE_IDENTIFIER(MPT_WARNING_NAME) () noexcept { \
|
|
int warning [[deprecated("Warning: " text)]] = 0; \
|
|
return warning; \
|
|
} \
|
|
/**/
|
|
#define MPT_WARNING_STATEMENT(text) \
|
|
int MPT_PP_UNIQUE_IDENTIFIER(MPT_WARNING_NAME) = [](){ \
|
|
int warning [[deprecated("Warning: " text)]] = 0; \
|
|
return warning; \
|
|
}() \
|
|
/**/
|
|
#endif
|
|
|
|
#if defined(HAVE_CONFIG_H)
|
|
// wrapper for autoconf macros
|
|
#include "config.h"
|
|
#endif // HAVE_CONFIG_H
|
|
|
|
#if defined(_WIN32)
|
|
#ifndef WIN32
|
|
#define WIN32
|
|
#endif
|
|
#endif // _WIN32
|
|
|
|
#if defined(WIN32)
|
|
#ifndef WIN32_LEAN_AND_MEAN
|
|
#define WIN32_LEAN_AND_MEAN
|
|
#endif
|
|
#ifndef NOMINMAX
|
|
#define NOMINMAX
|
|
#endif
|
|
#ifndef UNICODE
|
|
#define UNICODE
|
|
#endif
|
|
#ifndef _UNICODE
|
|
#define _UNICODE
|
|
#endif
|
|
#endif // WIN32
|
|
|
|
#if defined(WIN32)
|
|
#define MPT_WITH_MMIO
|
|
#endif // WIN32
|
|
|
|
#if defined(MPT_BUILD_MSVC)
|
|
|
|
#define MPT_WITH_FLAC
|
|
#define MPT_WITH_PORTAUDIO
|
|
|
|
#if defined(MPT_BUILD_MSVC_STATIC)
|
|
#define FLAC__NO_DLL
|
|
#endif
|
|
|
|
#endif // MPT_BUILD_MSVC
|
|
|
|
#define OPENMPT123_VERSION_STRING OPENMPT_API_VERSION_STRING
|
|
|
|
#endif // OPENMPT123_CONFIG_HPP
|