From 25ce6c5132d52def02653b08de65447b38d26419 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Mon, 14 May 2018 03:44:25 +0300 Subject: Attempt to fix the build on MinGW without C++11 --- src/adlmidi.cpp | 2 +- src/adlmidi_private.hpp | 28 +++++++++++++++++++++++----- 2 files changed, 24 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp index bf03285..8648308 100644 --- a/src/adlmidi.cpp +++ b/src/adlmidi.cpp @@ -120,7 +120,7 @@ ADLMIDI_EXPORT int adl_setBank(ADL_MIDIPlayer *device, int bank) if(static_cast(bankno) >= NumBanks) { char errBuf[150]; - snprintf(errBuf, 150, "Embedded bank number may only be 0..%" PRIu32 "!\n", (NumBanks - 1)); + snprintf(errBuf, 150, "Embedded bank number may only be 0..%u!\n", static_cast(NumBanks - 1)); play->setErrorString(errBuf); return -1; } diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 9fd6f97..d66daf4 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -88,17 +88,13 @@ typedef int32_t ssize_t; #include #include #include -#if !(defined(__APPLE__) && defined(__GLIBCXX__)) && !defined(__ANDROID__) -#include //PRId32, PRIu32, etc. -#else -#include -#endif #include // vector #include // deque #include // exp, log, ceil #if defined(__WATCOMC__) #include // round, sqrt #endif +#include #include #include #include // numeric_limit @@ -110,6 +106,28 @@ typedef int32_t ssize_t; #include #include +/* + * Workaround for some compilers are has no those macros in their headers! + */ +#ifndef INT8_MIN +#define INT8_MIN (-0x7f - 1) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-0x7fff - 1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-0x7fffffff - 1) +#endif +#ifndef INT8_MAX +#define INT8_MAX 0x7f +#endif +#ifndef INT16_MAX +#define INT16_MAX 0x7fff +#endif +#ifndef INT32_MAX +#define INT32_MAX 0x7fffffff +#endif + #ifdef _MSC_VER #pragma warning(disable:4319) #pragma warning(disable:4267) -- cgit v1.2.3