-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-#define uint64_t unsigned __int64 // problems with swig when using a typedef
+
+// Broken plateform do not respect C99 and do not provide those typedef
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+typedef signed __int8 int8_t;
+typedef signed __int16 int16_t;
+typedef signed __int32 int32_t;
+typedef signed __int64 int64_t;
+typedef unsigned __int8 uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;