Files
MINGW-packages/mingw-w64-blender-git/fix-mingw-w64-definitions.patch
2015-03-08 00:00:46 +03:00

216 lines
7.4 KiB
Diff

diff -Naur blender/extern/libmv/libmv/numeric/numeric.h blender-pp/extern/libmv/libmv/numeric/numeric.h
--- blender/extern/libmv/libmv/numeric/numeric.h 2014-01-14 08:17:56.878600000 +0400
+++ blender-pp/extern/libmv/libmv/numeric/numeric.h 2014-01-14 07:08:38.425600000 +0400
@@ -33,7 +33,7 @@
#include <Eigen/QR>
#include <Eigen/SVD>
-#if !defined(__MINGW64__)
+#if !defined(__MINGW64_VERSION_MAJOR)
# if defined(_WIN32) || defined(__APPLE__) || \
defined(__FreeBSD__) || defined(__NetBSD__)
static void sincos(double x, double *sinx, double *cosx) {
@@ -41,7 +41,7 @@
*cosx = cos(x);
}
# endif
-#endif // !__MINGW64__
+#endif // !__MINGW64_VERSION_MAJOR
#if (defined(WIN32) || defined(WIN64)) && !defined(__MINGW32__)
inline long lround(double d) {
diff -Naur blender/extern/libmv/third_party/glog/src/windows/port.cc blender-pp/extern/libmv/third_party/glog/src/windows/port.cc
--- blender/extern/libmv/third_party/glog/src/windows/port.cc 2014-01-14 08:17:57.112600000 +0400
+++ blender-pp/extern/libmv/third_party/glog/src/windows/port.cc 2014-01-14 07:08:38.441200000 +0400
@@ -56,7 +56,7 @@
return _vsnprintf(str, size-1, format, ap);
}
-#ifndef __MINGW64__
+#ifndef __MINGW64_VERSION_MAJOR
int snprintf(char *str, size_t size, const char *format, ...) {
va_list ap;
va_start(ap, format);
diff -Naur blender/extern/libmv/third_party/glog/src/windows/port.h blender-pp/extern/libmv/third_party/glog/src/windows/port.h
--- blender/extern/libmv/third_party/glog/src/windows/port.h 2014-01-14 08:17:57.112600000 +0400
+++ blender-pp/extern/libmv/third_party/glog/src/windows/port.h 2014-01-14 09:28:32.204400000 +0400
@@ -74,17 +74,19 @@
#pragma warning(disable:4244 4251 4355 4715 4800 4996)
/* file I/O */
-#define PATH_MAX 1024
#define access _access
#define getcwd _getcwd
#define open _open
#define read _read
#define write _write
-#define lseek _lseek
#define close _close
#define popen _popen
#define pclose _pclose
+#ifndef __MINGW64_VERSION_MAJOR
+#define lseek _lseek
+#define PATH_MAX 1024
#define R_OK 04 /* read-only (for access()) */
+#endif
#define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
#ifndef __MINGW32__
enum { STDIN_FILENO = 0, STDOUT_FILENO = 1, STDERR_FILENO = 2 };
@@ -126,7 +128,9 @@ extern int safe_vsnprintf(char *str, size_t size,
#define DEFAULT_TEMPLATE_ROOTDIR ".."
// ----------------------------------- SYSTEM/PROCESS
+#ifndef __MINGW64_VERSION_MAJOR
typedef int pid_t;
+#endif
#define getpid _getpid
#include <BaseTsd.h>
@@ -135,6 +139,7 @@ typedef SSIZE_T ssize_t;
#endif // _MSC_VER
// ----------------------------------- THREADS
+#if !defined(WIN_PTHREADS_H)
typedef DWORD pthread_t;
typedef DWORD pthread_key_t;
typedef LONG pthread_once_t;
@@ -158,6 +163,7 @@ inline struct tm* localtime_r(const time_t* timep, struct tm* result) {
return result;
#endif
}
+#endif
inline char* strerror_r(int errnum, char* buf, size_t buflen) {
#if __MINGW32__
--- blender/intern/cycles/util/util_optimization.h.orig 2014-01-16 13:42:33.581600000 +0400
+++ blender/intern/cycles/util/util_optimization.h 2014-01-16 13:48:43.330200000 +0400
@@ -76,7 +76,6 @@
* We assume __KERNEL_SSEX__ flags to have been defined at this point */
/* SSE intrinsics headers */
-#ifndef FREE_WINDOWS64
#ifdef _MSC_VER
#include <intrin.h>
@@ -95,17 +94,6 @@
#endif
-#else
-
-/* MinGW64 has conflicting declarations for these SSE headers in <windows.h>.
- * Since we can't avoid including <windows.h>, better only include that */
-#define NOGDI
-#define NOMINMAX
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#endif
-
#endif
#endif
diff -Naur blender/intern/cycles/util/util_types.h blender-pp/intern/cycles/util/util_types.h
--- blender/intern/cycles/util/util_types.h 2014-01-14 08:17:57.658600000 +0400
+++ blender-pp/intern/cycles/util/util_types.h 2014-01-14 08:47:39.800000000 +0400
@@ -48,7 +48,7 @@
#define ccl_device_inline static inline __attribute__((always_inline))
#define ccl_align(...) __attribute__((aligned(__VA_ARGS__)))
-#ifndef FREE_WINDOWS64
+#ifndef __MINGW64_VERSION_MAJOR
#define __forceinline inline __attribute__((always_inline))
#endif
#define ccl_try_align(...) __attribute__((aligned(__VA_ARGS__)))
diff -Naur blender/intern/ghost/intern/GHOST_SystemWin32.cpp blender-pp/intern/ghost/intern/GHOST_SystemWin32.cpp
--- blender/intern/ghost/intern/GHOST_SystemWin32.cpp 2014-01-14 08:17:57.767800000 +0400
+++ blender-pp/intern/ghost/intern/GHOST_SystemWin32.cpp 2014-01-14 07:08:38.441200000 +0400
@@ -828,7 +828,7 @@
// send motion. Mark as 'sent' so motion will always get dispatched.
eventSent = true;
-#if defined(_MSC_VER) || defined(FREE_WINDOWS64)
+#if defined(_MSC_VER) || defined(FREE_WINDOWS64) || defined(__MINGW64_VERSION_MAJOR)
// using Microsoft compiler & header files
// they invented the RawInput API, so this version is (probably) correct.
// MinGW64 also works fine with this
diff -Naur blender/intern/ghost/intern/GHOST_SystemWin32.h blender-pp/intern/ghost/intern/GHOST_SystemWin32.h
--- blender/intern/ghost/intern/GHOST_SystemWin32.h 2014-01-14 08:17:57.767800000 +0400
+++ blender-pp/intern/ghost/intern/GHOST_SystemWin32.h 2014-01-14 07:08:38.456800000 +0400
@@ -37,7 +37,7 @@
#error WIN32 only!
#endif // WIN32
-#ifndef __MINGW64__
+#ifndef __MINGW64_VERSION_MAJOR
#define _WIN32_WINNT 0x501 // require Windows XP or newer
#endif
#define WIN32_LEAN_AND_MEAN
diff -Naur blender/intern/ghost/intern/GHOST_TaskbarWin32.h blender-pp/intern/ghost/intern/GHOST_TaskbarWin32.h
--- blender/intern/ghost/intern/GHOST_TaskbarWin32.h 2014-01-14 08:17:57.783400000 +0400
+++ blender-pp/intern/ghost/intern/GHOST_TaskbarWin32.h 2014-01-14 07:08:38.456800000 +0400
@@ -8,7 +8,7 @@
#error WIN32 only!
#endif // WIN32
-#ifndef __MINGW64__
+#ifndef __MINGW64_VERSION_MAJOR
#define _WIN32_WINNT 0x501 // require Windows XP or newer
#endif
#define WIN32_LEAN_AND_MEAN
diff -Naur blender/intern/ghost/intern/GHOST_WindowWin32.cpp blender-pp/intern/ghost/intern/GHOST_WindowWin32.cpp
--- blender/intern/ghost/intern/GHOST_WindowWin32.cpp 2014-01-14 08:17:57.783400000 +0400
+++ blender-pp/intern/ghost/intern/GHOST_WindowWin32.cpp 2014-01-14 07:08:38.456800000 +0400
@@ -29,6 +29,12 @@
*/
#define _USE_MATH_DEFINES
+
+#if defined(WITH_GL_EGL)
+# include "GHOST_ContextEGL.h"
+#else
+# include "GHOST_ContextWGL.h"
+#endif
#include "GHOST_WindowWin32.h"
#include "GHOST_SystemWin32.h"
@@ -36,12 +41,6 @@
#include "GHOST_ContextNone.h"
#include "utfconv.h"
#include "utf_winfunc.h"
-
-#if defined(WITH_GL_EGL)
-# include "GHOST_ContextEGL.h"
-#else
-# include "GHOST_ContextWGL.h"
-#endif
#include <math.h>
diff -Naur blender/source/blender/blenlib/BLI_winstuff.h blender-pp/source/blender/blenlib/BLI_winstuff.h
--- blender/source/blender/blenlib/BLI_winstuff.h 2014-01-14 08:18:15.661000000 +0400
+++ blender-pp/source/blender/blenlib/BLI_winstuff.h 2014-01-14 07:08:38.456800000 +0400
@@ -92,7 +92,9 @@
#endif
/* defines for using ISO C++ conformant names */
+#ifndef __MINGW32__
#define snprintf _snprintf
+#endif
#if defined(_MSC_VER) || (defined(FREE_WINDOWS) && !defined(FREE_WINDOWS64))
# define R_OK 4
@@ -115,9 +117,9 @@
# define tell(fd) _telli64(fd)
#endif
-/* mingw using _SSIZE_T_ to declare ssize_t type */
-#ifndef _SSIZE_T_
-# define _SSIZE_T_
+/* mingw using _SSIZE_T_DEFINED to declare ssize_t type */
+#ifndef _SSIZE_T_DEFINED
+# define _SSIZE_T_DEFINED
/* python uses HAVE_SSIZE_T */
# ifndef HAVE_SSIZE_T
# define HAVE_SSIZE_T 1