This applies a better workaround for C++ type conflicts in AltiVec/C++, allowing it to build on BE ppc(64). --- a/extern/clew/include/clew.h +++ b/extern/clew/include/clew.h @@ -370,15 +370,18 @@ typedef unsigned int cl_GLenum; /* Define basic vector types */ /* Workaround for ppc64el platform: conflicts with bool from C++. */ -#if defined( __VEC__ ) && !(defined(__PPC64__) && defined(__LITTLE_ENDIAN__)) +#if defined(__VEC__) #include /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */ - typedef vector unsigned char __cl_uchar16; - typedef vector signed char __cl_char16; - typedef vector unsigned short __cl_ushort8; - typedef vector signed short __cl_short8; - typedef vector unsigned int __cl_uint4; - typedef vector signed int __cl_int4; - typedef vector float __cl_float4; + #undef vector + #undef bool + #undef pixel + typedef __vector unsigned char __cl_uchar16; + typedef __vector signed char __cl_char16; + typedef __vector unsigned short __cl_ushort8; + typedef __vector signed short __cl_short8; + typedef __vector unsigned int __cl_uint4; + typedef __vector signed int __cl_int4; + typedef __vector float __cl_float4; #define __CL_UCHAR16__ 1 #define __CL_CHAR16__ 1 #define __CL_USHORT8__ 1