Index: trunk/nv/common.hh
===================================================================
--- trunk/nv/common.hh	(revision 116)
+++ trunk/nv/common.hh	(revision 117)
@@ -22,5 +22,5 @@
 #define NV_MSVC           1
 #define NV_GNUC           2
-#define NV_BORLAND        3
+#define NV_CLANG          3
 
 // Endianess
@@ -51,10 +51,9 @@
 #define NV_COMPILER NV_GNUC
 #define NV_COMP_VER (((__GNUC__)*100) + (__GNUC_MINOR__*10) + __GNUC_PATCHLEVEL__)
-#elif defined( __BORLANDC__ )
-#define NV_COMPILER NV_BORLAND
-#define NV_COMP_VER 0
+#elif defined( __clang__ )
+#define NV_COMPILER NV_CLANG
+#define NV_COMP_VER (((__clang_major__)*100) + (__clang_minor__*10) + __clang_patchlevel__)
 #else
-#define NV_COMPILER 0
-#define NV_COMP_VER 0
+#error "Unknown compiler!"
 #endif
 
@@ -89,24 +88,15 @@
 #endif
 
-#if NV_COMPILER == NV_MSVC 
-#if NV_COMP_VER >= 1600
-#define NV_HAS_CPP0X
-#elif NV_COMP_VER >= 1200
-#define NV_HAS_TR1
-#else
-#define NV_USE_BOOST
-#endif
+#if NV_COMPILER == NV_MSVC && NV_COMP_VER < 1600
+#error "MSVC 2012+ required!"
 #endif
 
-#if NV_COMPILER == NV_GNUC
-#if NV_COMP_VER >= 460
-#define NV_HAS_CPP0X
-#elif NV_COMP_VER >= 400
-#define NV_HAS_TR1
-#else
-#define NV_USE_BOOST
-#endif
+#if NV_COMPILER == NV_GNUC && NV_COMP_VER < 460
+#error "GCC 4.6+ required!"
 #endif
 
+#if NV_COMPILER == NV_CLANG && NV_COMP_VER < 320
+#error "clang 3.2+ required!"
+#endif
 
 #if NV_COMPILER == NV_MSVC 
@@ -126,5 +116,5 @@
 #if NV_COMPILER == NV_MSVC
 #define NV_DEPRECATED(func) __declspec(deprecated) func
-#elif NV_COMPILER == NV_GNUC
+#elif NV_COMPILER == NV_GNUC || NV_COMPILER == NV_CLANG
 #define NV_DEPRECATED(func) func __attribute__ ((deprecated))
 #else 
@@ -154,18 +144,10 @@
 	typedef signed short        sint16;
 	typedef signed long         sint32;
-#if NV_COMPILER == NV_MSVC
-	typedef signed __int64      sint64;
-#else
 	typedef signed long long    sint64;
-#endif
 
 	typedef unsigned char       uint8;
 	typedef unsigned short      uint16;
 	typedef unsigned long       uint32;
-#if NV_COMPILER == NV_MSVC
-	typedef unsigned __int64    uint64;
-#else
 	typedef unsigned long long  uint64;
-#endif
 
 	typedef unsigned char       char8;
