Browse Source

Fixed Android build error with C++11 compiler but C++98 STL #284 #564

Christophe Riccio 9 years ago
parent
commit
b45d5e8650
2 changed files with 7 additions and 1 deletions
  1. 6 1
      glm/detail/setup.hpp
  2. 1 0
      readme.md

+ 6 - 1
glm/detail/setup.hpp

@@ -150,6 +150,7 @@
 #			pragma message("GLM: Using GLM_FORCE_CXX14 but there is no known version of ICC compiler that fully supports C++14")
 #	endif
 #	define GLM_LANG GLM_LANG_CXX14
+#	define GLM_LANG_STL11_FORCED
 #elif defined(GLM_FORCE_CXX11)
 #	if((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER <= GLM_COMPILER_GCC48)) || ((GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER <= GLM_COMPILER_CLANG33))
 #			pragma message("GLM: Using GLM_FORCE_CXX11 with a compiler that doesn't fully support C++11")
@@ -159,6 +160,7 @@
 #			pragma message("GLM: Using GLM_FORCE_CXX11 but there is no known version of ICC compiler that fully supports C++11")
 #	endif
 #	define GLM_LANG GLM_LANG_CXX11
+#	define GLM_LANG_STL11_FORCED
 #elif defined(GLM_FORCE_CXX03)
 #	define GLM_LANG GLM_LANG_CXX03
 #elif defined(GLM_FORCE_CXX98)
@@ -293,7 +295,10 @@
 // http://gcc.gnu.org/projects/cxx0x.html
 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
 
-#if GLM_COMPILER & GLM_COMPILER_CLANG
+// Android has multiple STLs but C++11 STL detection doesn't always work #284 #564
+#if GLM_PLATFORM == GLM_PLATFORM_ANDROID && !defined(GLM_LANG_STL11_FORCED)
+#	define GLM_HAS_CXX11_STL 0
+#elif GLM_COMPILER & GLM_COMPILER_CLANG
 #	if defined(_LIBCPP_VERSION) && GLM_LANG & GLM_LANG_CXX11_FLAG
 #		define GLM_HAS_CXX11_STL 1
 #	else

+ 1 - 0
readme.md

@@ -53,6 +53,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
 
 #### [GLM 0.9.8.3](https://github.com/g-truc/glm/tree/0.9.8) - 2016-XX-XX
 ##### Fixes:
+- Fixed Android build error with C++11 compiler but C++98 STL #284 #564
 
 #### [GLM 0.9.8.2](https://github.com/g-truc/glm/releases/tag/0.9.8.2) - 2016-11-01
 ##### Improvements: