fix link issues with MinGW - a substitute declaration(correctByteOrder) for itoln...
[blender.git] / intern / guardedalloc / MEM_sys_types.h
index ff945a8c0c1a44ca92d5b76ca420bea7bd15e778..4debb32b5c401499a5592f551d7b8a35d4c61f1e 100644 (file)
@@ -48,8 +48,8 @@
  *  \ingroup MEM
  */
 
-#ifndef BLO_SYS_TYPES_H
-#define BLO_SYS_TYPES_H
+#ifndef MEM_SYS_TYPES_H
+#define MEM_SYS_TYPES_H
 
 #ifdef __cplusplus
 extern "C" {
@@ -88,7 +88,7 @@ typedef unsigned long uintptr_t;
 #define _UINTPTR_T_DEFINED
 #endif
 
-#elif defined(__linux__) || defined(__NetBSD__)
+#elif defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
 
        /* Linux-i386, Linux-Alpha, Linux-ppc */
 #include <stdint.h>
@@ -98,7 +98,8 @@ typedef unsigned long uintptr_t;
 #include <inttypes.h>
 
 #elif defined(FREE_WINDOWS)
-
+/* define htoln here, there must be a syntax error in winsock2.h in MinGW */
+unsigned long __attribute__((__stdcall__)) htonl(unsigned long);
 #include <stdint.h>
 
 #else
@@ -109,12 +110,14 @@ typedef unsigned long uintptr_t;
 #endif /* ifdef platform for types */
 
 #ifdef _WIN32
+#ifndef FREE_WINDOWS
 #ifndef htonl
 #define htonl(x) correctByteOrder(x)
 #endif
 #ifndef ntohl
 #define ntohl(x) correctByteOrder(x)
 #endif
+#endif
 #elif defined (__FreeBSD__) || defined (__OpenBSD__) 
 #include <sys/param.h>
 #elif defined (__APPLE__)
@@ -127,5 +130,5 @@ typedef unsigned long uintptr_t;
 }
 #endif
 
-#endif /* eof */
+#endif /* MEM_SYS_TYPES_H */