From 2235cb76b139279bb171e9eb3eac22f3b7e8e8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 21 Feb 2014 01:47:58 +0100 Subject: [PATCH] Apparently Android is something like newlib. --- src/Magnum/Math/Complex.h | 4 ++-- src/Magnum/Math/Functions.h | 9 +++++---- src/Magnum/Shader.cpp | 7 ++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Magnum/Math/Complex.h b/src/Magnum/Math/Complex.h index 6f7ba3371..84c97fd31 100644 --- a/src/Magnum/Math/Complex.h +++ b/src/Magnum/Math/Complex.h @@ -339,8 +339,8 @@ template class Complex { * @see isNormalized() */ T length() const { - /** @todo Remove when NaCl's newlib has this fixed */ - #ifndef CORRADE_TARGET_NACL_NEWLIB + /** @todo Remove when newlib has this fixed */ + #if !defined(CORRADE_TARGET_NACL_NEWLIB) && !defined(CORRADE_TARGET_ANDROID) return std::hypot(_real, _imaginary); #else return std::sqrt(dot()); diff --git a/src/Magnum/Math/Functions.h b/src/Magnum/Math/Functions.h index 0f16e6e79..a1a42d060 100644 --- a/src/Magnum/Math/Functions.h +++ b/src/Magnum/Math/Functions.h @@ -251,7 +251,8 @@ template Vector floor(const Vector& template inline T round(const T& a); #else template inline typename std::enable_if::value, T>::type round(T a) { - #ifndef CORRADE_TARGET_NACL_NEWLIB + /** @todo Remove when newlib has this fixed */ + #if !defined(CORRADE_TARGET_NACL_NEWLIB) && !defined(CORRADE_TARGET_ANDROID) return std::round(a); #else return (a > T(0)) ? std::floor(a + T(0.5)) : std::ceil(a - T(0.5)); @@ -260,7 +261,7 @@ template inline typename std::enable_if::value, T template Vector round(const Vector& a) { Vector out; for(std::size_t i = 0; i != size; ++i) { - #ifndef CORRADE_TARGET_NACL_NEWLIB + #if !defined(CORRADE_TARGET_NACL_NEWLIB) && !defined(CORRADE_TARGET_ANDROID) out[i] = std::round(a[i]); #else out[i] = round(a[i]); @@ -396,8 +397,8 @@ Computes and returns @f$ ab + c @f$. template inline T fma(const T& a, const T& b, const T& c); #else template inline typename std::enable_if::value, T>::type fma(T a, T b, T c) { - /** @todo Remove when NaCl's newlib has this fixed */ - #ifndef CORRADE_TARGET_NACL_NEWLIB + /** @todo Remove when newlib has this fixed */ + #if !defined(CORRADE_TARGET_NACL_NEWLIB) && !defined(CORRADE_TARGET_ANDROID) return std::fma(a, b, c); #else return a*b + c; diff --git a/src/Magnum/Shader.cpp b/src/Magnum/Shader.cpp index 23a00651f..fa93c2958 100644 --- a/src/Magnum/Shader.cpp +++ b/src/Magnum/Shader.cpp @@ -36,7 +36,7 @@ #include "Implementation/State.h" #include "Implementation/ShaderState.h" -#if defined(CORRADE_TARGET_NACL_NEWLIB) || defined(__MINGW32__) +#if defined(CORRADE_TARGET_NACL_NEWLIB) || defined(CORRADE_TARGET_ANDROID) || defined(__MINGW32__) #include #endif @@ -593,7 +593,8 @@ std::vector Shader::sources() const { return _sources; } Shader& Shader::addSource(std::string source) { if(!source.empty()) { - #if defined(CORRADE_TARGET_NACL_NEWLIB) || defined(__MINGW32__) + /** @todo Remove when newlib has this fixed (also the include above) */ + #if defined(CORRADE_TARGET_NACL_NEWLIB) || defined(CORRADE_TARGET_ANDROID) || defined(__MINGW32__) std::ostringstream converter; converter << (_sources.size()+1)/2; #endif @@ -601,7 +602,7 @@ Shader& Shader::addSource(std::string source) { /* Fix line numbers, so line 41 of third added file is marked as 3(41). Source 0 is the #version string added in constructor. */ _sources.push_back("#line 1 " + - #if !defined(CORRADE_TARGET_NACL_NEWLIB) && !defined(__MINGW32__) + #if !defined(CORRADE_TARGET_NACL_NEWLIB) && !defined(CORRADE_TARGET_ANDROID) && !defined(__MINGW32__) std::to_string((_sources.size()+1)/2) + #else converter.str() +