From a7a79322bfacd5bbbf7f931143275557ea061c83 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 14 May 2012 13:31:38 +0000 Subject: Make blender compilable by gcc-4.7 and strict compilation flags: - Remove strict flags from files, which are using FFmpeg stuff We're still using some symbols which are marked as deprecated. Ideally, we shall switch to new API, but it's a bit larger challenge because we don't want to break compatibility withotu actual need. - Replace MAKE_ID with BT_MAKE_ID in bullet library. This is needed to prevent re-definition of MAKE_ID in bullet library. Seems it's only used to read blender files, so should be quite safe change. --- extern/bullet2/patches/make_id.patch | 42 ++++++++++++++++++++++++++++ extern/bullet2/readme.txt | 4 +++ extern/bullet2/src/LinearMath/btSerializer.h | 28 +++++++++---------- 3 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 extern/bullet2/patches/make_id.patch (limited to 'extern/bullet2') diff --git a/extern/bullet2/patches/make_id.patch b/extern/bullet2/patches/make_id.patch new file mode 100644 index 00000000000..959e578ad0e --- /dev/null +++ b/extern/bullet2/patches/make_id.patch @@ -0,0 +1,42 @@ +Index: src/LinearMath/btSerializer.h +=================================================================== +--- src/LinearMath/btSerializer.h (revision 46625) ++++ src/LinearMath/btSerializer.h (working copy) +@@ -106,23 +106,23 @@ + + #define BT_HEADER_LENGTH 12 + #if defined(__sgi) || defined (__sparc) || defined (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__) +-# define MAKE_ID(a,b,c,d) ( (int)(a)<<24 | (int)(b)<<16 | (c)<<8 | (d) ) ++# define BT_MAKE_ID(a,b,c,d) ( (int)(a)<<24 | (int)(b)<<16 | (c)<<8 | (d) ) + #else +-# define MAKE_ID(a,b,c,d) ( (int)(d)<<24 | (int)(c)<<16 | (b)<<8 | (a) ) ++# define BT_MAKE_ID(a,b,c,d) ( (int)(d)<<24 | (int)(c)<<16 | (b)<<8 | (a) ) + #endif + +-#define BT_SOFTBODY_CODE MAKE_ID('S','B','D','Y') +-#define BT_COLLISIONOBJECT_CODE MAKE_ID('C','O','B','J') +-#define BT_RIGIDBODY_CODE MAKE_ID('R','B','D','Y') +-#define BT_CONSTRAINT_CODE MAKE_ID('C','O','N','S') +-#define BT_BOXSHAPE_CODE MAKE_ID('B','O','X','S') +-#define BT_QUANTIZED_BVH_CODE MAKE_ID('Q','B','V','H') +-#define BT_TRIANLGE_INFO_MAP MAKE_ID('T','M','A','P') +-#define BT_SHAPE_CODE MAKE_ID('S','H','A','P') +-#define BT_ARRAY_CODE MAKE_ID('A','R','A','Y') +-#define BT_SBMATERIAL_CODE MAKE_ID('S','B','M','T') +-#define BT_SBNODE_CODE MAKE_ID('S','B','N','D') +-#define BT_DNA_CODE MAKE_ID('D','N','A','1') ++#define BT_SOFTBODY_CODE BT_MAKE_ID('S','B','D','Y') ++#define BT_COLLISIONOBJECT_CODE BT_MAKE_ID('C','O','B','J') ++#define BT_RIGIDBODY_CODE BT_MAKE_ID('R','B','D','Y') ++#define BT_CONSTRAINT_CODE BT_MAKE_ID('C','O','N','S') ++#define BT_BOXSHAPE_CODE BT_MAKE_ID('B','O','X','S') ++#define BT_QUANTIZED_BVH_CODE BT_MAKE_ID('Q','B','V','H') ++#define BT_TRIANLGE_INFO_MAP BT_MAKE_ID('T','M','A','P') ++#define BT_SHAPE_CODE BT_MAKE_ID('S','H','A','P') ++#define BT_ARRAY_CODE BT_MAKE_ID('A','R','A','Y') ++#define BT_SBMATERIAL_CODE BT_MAKE_ID('S','B','M','T') ++#define BT_SBNODE_CODE BT_MAKE_ID('S','B','N','D') ++#define BT_DNA_CODE BT_MAKE_ID('D','N','A','1') + + + struct btPointerUid diff --git a/extern/bullet2/readme.txt b/extern/bullet2/readme.txt index 02430cb5c0e..e2546b049e3 100644 --- a/extern/bullet2/readme.txt +++ b/extern/bullet2/readme.txt @@ -15,3 +15,7 @@ Once that is done all build systems can be updated to use/build extern/bullet2 f Questions? mail blender at erwincoumans.com, or check the bf-blender mailing list. Thanks, Erwin + +Apply patches/make_id.patch to prevent duplicated define of MAKE_ID macro in blender +side and bullet side. +Sergey diff --git a/extern/bullet2/src/LinearMath/btSerializer.h b/extern/bullet2/src/LinearMath/btSerializer.h index 8a89374c612..52520d72b9e 100644 --- a/extern/bullet2/src/LinearMath/btSerializer.h +++ b/extern/bullet2/src/LinearMath/btSerializer.h @@ -106,23 +106,23 @@ public: #define BT_HEADER_LENGTH 12 #if defined(__sgi) || defined (__sparc) || defined (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__) -# define MAKE_ID(a,b,c,d) ( (int)(a)<<24 | (int)(b)<<16 | (c)<<8 | (d) ) +# define BT_MAKE_ID(a,b,c,d) ( (int)(a)<<24 | (int)(b)<<16 | (c)<<8 | (d) ) #else -# define MAKE_ID(a,b,c,d) ( (int)(d)<<24 | (int)(c)<<16 | (b)<<8 | (a) ) +# define BT_MAKE_ID(a,b,c,d) ( (int)(d)<<24 | (int)(c)<<16 | (b)<<8 | (a) ) #endif -#define BT_SOFTBODY_CODE MAKE_ID('S','B','D','Y') -#define BT_COLLISIONOBJECT_CODE MAKE_ID('C','O','B','J') -#define BT_RIGIDBODY_CODE MAKE_ID('R','B','D','Y') -#define BT_CONSTRAINT_CODE MAKE_ID('C','O','N','S') -#define BT_BOXSHAPE_CODE MAKE_ID('B','O','X','S') -#define BT_QUANTIZED_BVH_CODE MAKE_ID('Q','B','V','H') -#define BT_TRIANLGE_INFO_MAP MAKE_ID('T','M','A','P') -#define BT_SHAPE_CODE MAKE_ID('S','H','A','P') -#define BT_ARRAY_CODE MAKE_ID('A','R','A','Y') -#define BT_SBMATERIAL_CODE MAKE_ID('S','B','M','T') -#define BT_SBNODE_CODE MAKE_ID('S','B','N','D') -#define BT_DNA_CODE MAKE_ID('D','N','A','1') +#define BT_SOFTBODY_CODE BT_MAKE_ID('S','B','D','Y') +#define BT_COLLISIONOBJECT_CODE BT_MAKE_ID('C','O','B','J') +#define BT_RIGIDBODY_CODE BT_MAKE_ID('R','B','D','Y') +#define BT_CONSTRAINT_CODE BT_MAKE_ID('C','O','N','S') +#define BT_BOXSHAPE_CODE BT_MAKE_ID('B','O','X','S') +#define BT_QUANTIZED_BVH_CODE BT_MAKE_ID('Q','B','V','H') +#define BT_TRIANLGE_INFO_MAP BT_MAKE_ID('T','M','A','P') +#define BT_SHAPE_CODE BT_MAKE_ID('S','H','A','P') +#define BT_ARRAY_CODE BT_MAKE_ID('A','R','A','Y') +#define BT_SBMATERIAL_CODE BT_MAKE_ID('S','B','M','T') +#define BT_SBNODE_CODE BT_MAKE_ID('S','B','N','D') +#define BT_DNA_CODE BT_MAKE_ID('D','N','A','1') struct btPointerUid -- cgit v1.2.3