From 4e6590067d5c398479d0d041b3afacc26d24061d Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Tue, 24 Apr 2012 16:14:23 +0000 Subject: revert 45924, not a very clean solution, especially for external libraries and looks like -fpermissive is used in linux too --- CMakeLists.txt | 6 ++-- build_files/scons/config/win64-mingw-config.py | 2 +- extern/bullet2/patches/MinGW64-nopermissive.patch | 39 ---------------------- extern/bullet2/src/LinearMath/btSerializer.h | 13 ++------ intern/audaspace/intern/AUD_Buffer.cpp | 11 +----- .../audaspace/patches/mingw64-nopermissive.patch | 23 ------------- intern/elbeem/intern/ntl_geometrymodel.cpp | 11 ++---- intern/elbeem/patches/mingw64_nopermissive.patch | 29 ---------------- source/gameengine/Expressions/KX_HashedPtr.cpp | 6 ++-- source/gameengine/Ketsji/KX_GameObject.cpp | 5 +-- source/gameengine/Ketsji/KX_IPO_SGController.cpp | 5 +-- 11 files changed, 13 insertions(+), 137 deletions(-) delete mode 100644 extern/bullet2/patches/MinGW64-nopermissive.patch delete mode 100644 intern/audaspace/patches/mingw64-nopermissive.patch delete mode 100644 intern/elbeem/patches/mingw64_nopermissive.patch diff --git a/CMakeLists.txt b/CMakeLists.txt index ad3a293b937..a2926182c5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1008,10 +1008,8 @@ elseif(WIN32) if(WITH_MINGW64) #Yes, the point for MinGW64 is moar optimization by default :) - set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -mmmx -msse -msse2") - set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG") - set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") + set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -mmmx -msse -msse2 -O3") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -lpthread") add_definitions(-DFREE_WINDOWS64 -DMS_WIN64) diff --git a/build_files/scons/config/win64-mingw-config.py b/build_files/scons/config/win64-mingw-config.py index 98d45ae2054..0379ea48088 100644 --- a/build_files/scons/config/win64-mingw-config.py +++ b/build_files/scons/config/win64-mingw-config.py @@ -176,7 +176,7 @@ CC = 'gcc' CXX = 'g++' CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ] -#CXXFLAGS = [ '-fpermissive' ] +CXXFLAGS = [ '-fpermissive' ] CPPFLAGS = ['-DWIN32', '-DMS_WIN64', '-DFREE_WINDOWS', '-DFREE_WINDOWS64', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-DBOOST_ALL_NO_LIB', '-DBOOST_THREAD_USE_LIB', '-DGLEW_STATIC', '-D_SSIZE_T_'] REL_CFLAGS = ['-O3', '-mmmx', '-msse', '-msse2'] diff --git a/extern/bullet2/patches/MinGW64-nopermissive.patch b/extern/bullet2/patches/MinGW64-nopermissive.patch deleted file mode 100644 index 915f232f6d7..00000000000 --- a/extern/bullet2/patches/MinGW64-nopermissive.patch +++ /dev/null @@ -1,39 +0,0 @@ -Index: LinearMath/btSerializer.h -=================================================================== ---- LinearMath/btSerializer.h (revision 45919) -+++ LinearMath/btSerializer.h (working copy) -@@ -25,8 +25,15 @@ - #endif - #include - -+#if defined(_WIN64) -+# ifdef __MINGW64__ -+# include -+# endif -+typedef __int64 int_ptr; -+#else -+typedef long int_ptr; -+#endif - -- - ///only the 32bit versions for now - extern unsigned char sBulletDNAstr[]; - extern int sBulletDNAlen; -@@ -247,7 +254,7 @@ - cp++; - } - { -- nr= (long)cp; -+ nr= (int_ptr)cp; - // long mask=3; - nr= ((nr+3)&~3)-nr; - while (nr--) -@@ -282,7 +289,7 @@ - } - - { -- nr= (long)cp; -+ nr= (int_ptr)cp; - // long mask=3; - nr= ((nr+3)&~3)-nr; - while (nr--) diff --git a/extern/bullet2/src/LinearMath/btSerializer.h b/extern/bullet2/src/LinearMath/btSerializer.h index a1e766c95ce..8a89374c612 100644 --- a/extern/bullet2/src/LinearMath/btSerializer.h +++ b/extern/bullet2/src/LinearMath/btSerializer.h @@ -25,14 +25,7 @@ subject to the following restrictions: #endif #include -#if defined(_WIN64) -# ifdef __MINGW64__ -# include -# endif -typedef __int64 int_ptr; -#else -typedef long int_ptr; -#endif + ///only the 32bit versions for now extern unsigned char sBulletDNAstr[]; @@ -254,7 +247,7 @@ protected: cp++; } { - nr= (int_ptr)cp; + nr= (long)cp; // long mask=3; nr= ((nr+3)&~3)-nr; while (nr--) @@ -289,7 +282,7 @@ protected: } { - nr= (int_ptr)cp; + nr= (long)cp; // long mask=3; nr= ((nr+3)&~3)-nr; while (nr--) diff --git a/intern/audaspace/intern/AUD_Buffer.cpp b/intern/audaspace/intern/AUD_Buffer.cpp index 624a4d0b2c8..b7157f672b4 100644 --- a/intern/audaspace/intern/AUD_Buffer.cpp +++ b/intern/audaspace/intern/AUD_Buffer.cpp @@ -33,16 +33,7 @@ #include #include -#if defined(_WIN64) -# ifdef __MINGW64__ -# include -# endif -typedef unsigned __int64 uint_ptr; -#else -typedef unsigned long uint_ptr; -#endif - -#define AUD_ALIGN(a) (a + 16 - ((uint_ptr)a & 15)) +#define AUD_ALIGN(a) (a + 16 - ((long)a & 15)) AUD_Buffer::AUD_Buffer(int size) { diff --git a/intern/audaspace/patches/mingw64-nopermissive.patch b/intern/audaspace/patches/mingw64-nopermissive.patch deleted file mode 100644 index 64420d240f3..00000000000 --- a/intern/audaspace/patches/mingw64-nopermissive.patch +++ /dev/null @@ -1,23 +0,0 @@ -Index: intern/AUD_Buffer.cpp -=================================================================== ---- intern/AUD_Buffer.cpp (revision 45919) -+++ intern/AUD_Buffer.cpp (working copy) -@@ -33,8 +33,17 @@ - #include - #include - --#define AUD_ALIGN(a) (a + 16 - ((long)a & 15)) -+#if defined(_WIN64) -+# ifdef __MINGW64__ -+# include -+# endif -+typedef unsigned __int64 uint_ptr; -+#else -+typedef unsigned long uint_ptr; -+#endif - -+#define AUD_ALIGN(a) (a + 16 - ((uint_ptr)a & 15)) -+ - AUD_Buffer::AUD_Buffer(int size) - { - m_size = size; diff --git a/intern/elbeem/intern/ntl_geometrymodel.cpp b/intern/elbeem/intern/ntl_geometrymodel.cpp index b518416b639..13220736b8e 100644 --- a/intern/elbeem/intern/ntl_geometrymodel.cpp +++ b/intern/elbeem/intern/ntl_geometrymodel.cpp @@ -21,14 +21,7 @@ #endif #endif // WIN32 -#if defined(_WIN64) -# ifdef __MINGW64__ -# include -# endif -typedef __int64 int_ptr; -#else -typedef long int_ptr; -#endif + /****************************************************************************** * Default Constructor *****************************************************************************/ @@ -171,7 +164,7 @@ int ntlGeometryObjModel::initModel(int numVertices, float *vertices, int numTria } //fprintf(stderr,"initModel DEBUG %d \n",channelSize); - debMsgStd("ntlGeometryObjModel::initModel",DM_MSG, "Csize:"<0)) { vector aniverts; vector aninorms; diff --git a/intern/elbeem/patches/mingw64_nopermissive.patch b/intern/elbeem/patches/mingw64_nopermissive.patch deleted file mode 100644 index a01e65d43e4..00000000000 --- a/intern/elbeem/patches/mingw64_nopermissive.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: intern/ntl_geometrymodel.cpp -=================================================================== ---- intern/ntl_geometrymodel.cpp (revision 45919) -+++ intern/ntl_geometrymodel.cpp (working copy) -@@ -21,7 +21,14 @@ - #endif - #endif // WIN32 - -- -+#if defined(_WIN64) -+# ifdef __MINGW64__ -+# include -+# endif -+typedef __int64 int_ptr; -+#else -+typedef long int_ptr; -+#endif - /****************************************************************************** - * Default Constructor - *****************************************************************************/ -@@ -164,7 +171,7 @@ - } - - //fprintf(stderr,"initModel DEBUG %d \n",channelSize); -- debMsgStd("ntlGeometryObjModel::initModel",DM_MSG, "Csize:"<0)) { - vector aniverts; - vector aninorms; diff --git a/source/gameengine/Expressions/KX_HashedPtr.cpp b/source/gameengine/Expressions/KX_HashedPtr.cpp index 84488e3641d..51550d52636 100644 --- a/source/gameengine/Expressions/KX_HashedPtr.cpp +++ b/source/gameengine/Expressions/KX_HashedPtr.cpp @@ -28,15 +28,13 @@ /** \file gameengine/Expressions/KX_HashedPtr.cpp * \ingroup expressions */ -#ifdef __MINGW64__ -#include -#endif + #include "KX_HashedPtr.h" unsigned int KX_Hash(void * inDWord) { -#ifdef _WIN64 +#if defined(_WIN64) && !defined(FREE_WINDOWS64) unsigned __int64 key = (unsigned __int64)inDWord; #else unsigned long key = (unsigned long)inDWord; diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index bdb586b2474..c5145ef2171 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -31,10 +31,7 @@ */ -#if defined(_WIN64) -# ifdef __MINGW64__ -# include -# endif +#if defined(_WIN64) && !defined(FREE_WINDOWS64) typedef unsigned __int64 uint_ptr; #else typedef unsigned long uint_ptr; diff --git a/source/gameengine/Ketsji/KX_IPO_SGController.cpp b/source/gameengine/Ketsji/KX_IPO_SGController.cpp index b8872f5ddc3..950e3c88a9e 100644 --- a/source/gameengine/Ketsji/KX_IPO_SGController.cpp +++ b/source/gameengine/Ketsji/KX_IPO_SGController.cpp @@ -31,10 +31,7 @@ */ -#if defined(_WIN64) -# ifdef __MINGW64__ -# include -# endif +#if defined(_WIN64) && !defined(FREE_WINDOWS64) typedef unsigned __int64 uint_ptr; #else typedef unsigned long uint_ptr; -- cgit v1.2.3