Browse Source

Added Chrone Native Client support

Christophe Riccio 14 years ago
parent
commit
04958c1564
3 changed files with 36 additions and 1 deletions
  1. 6 1
      glm/core/_fixes.hpp
  2. 23 0
      glm/core/setup.hpp
  3. 7 0
      readme.txt

+ 6 - 1
glm/core/_fixes.hpp

@@ -22,7 +22,7 @@
 ///
 /// @ref core
 /// @file glm/core/_fixes.hpp
-/// @date 2011-02-21 / 2011-02-16
+/// @date 2011-02-21 / 2011-11-22
 /// @author Christophe Riccio
 ///////////////////////////////////////////////////////////////////////////////////
 
@@ -46,3 +46,8 @@
 #undef isinf
 #endif
 
+//! Workaround for Chrone Native Client
+#ifdef log2
+#undef log2
+#endif
+

+ 23 - 0
glm/core/setup.hpp

@@ -47,6 +47,7 @@
 #define GLM_PLATFORM_MACOSX			0x00040000
 #define GLM_PLATFORM_IOS			0x00080000
 #define GLM_PLATFORM_ANDROID		0x00100000
+#define GLM_PLATFORM_CHROME_NACL	0x00200000
 
 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
 #	define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
@@ -58,10 +59,32 @@
 #	define GLM_PLATFORM GLM_PLATFORM_MACOSX
 #elif defined(ANDROID)
 #	define GLM_PLATFORM GLM_PLATFORM_ANDROID
+#elif defined(__native_client__)
+#	define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
 #else
 #	define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
 #endif//
 
+// Report platform detection
+#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
+#	define GLM_MESSAGE_PLATFORM_DISPLAYED
+#	if(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
+#		pragma message("GLM: Windows platform detected")
+#	elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
+#		pragma message("GLM: iOS platform detected")
+#	elif(GLM_PLATFORM & GLM_PLATFORM_MACOSX)
+#		pragma message("GLM: MacOSX platform detected")
+#	elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+#		pragma message("GLM: Android platform detected")
+#	elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
+#		pragma message("GLM: Chrone Native Client detected")
+#	elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
+#		pragma message("GLM: platform unknown")
+#	else
+#		pragma message("GLM: platform not detected")
+#	endif
+#endif//GLM_MESSAGE
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Compiler
 

+ 7 - 0
readme.txt

@@ -36,6 +36,13 @@ GLM is a header only library, there is nothing to build, just include it.
 More informations in GLM manual:
 http://glm.g-truc.net/glm-0.9.3.pdf
 
+================================================================================
+GLM 0.9.3.B: 2011-XX-XX
+--------------------------------------------------------------------------------
+- Added support for Chrone Native Client
+- Added epsilon constant
+- Removed value_size function from vector types
+
 ================================================================================
 GLM 0.9.2.8: 2011-12-XX
 --------------------------------------------------------------------------------