mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-physics/bullet: rename altivec vector keywords
Altivec vectors can be defined with either the "vector" keyword or the "__vector" type. In general "__vector" should be prefered for include files, as otherwise it might conflicts with other type define in the source code (define a vector class in C++ is quite common). This causes bullet to fail to build on powerpc if the code is compiled with -maltivec, or by default on ppc64el which always has altivec enabled. See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760310 Closes: https://bugs.gentoo.org/852101 Signed-off-by: Niccolò Belli <niccolo.belli@linuxsystems.it> Closes: https://github.com/gentoo/gentoo/pull/28193 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
This commit is contained in:
committed by
Andrew Ammerlaan
parent
314a493874
commit
884d9dafc8
@@ -45,6 +45,8 @@ pkg_setup() {
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
(use ppc || use ppc64) && PATCHES+=( "${FILESDIR}/${P}-replace_altivec_vector_keyword.patch" )
|
||||
|
||||
cmake_src_prepare
|
||||
|
||||
# allow to generate docs
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
--- a/src/clew/clew.h 2022-02-16 18:12:48.879740507 +0100
|
||||
+++ b/src/clew/clew.h 2022-02-16 18:13:32.403061196 +0100
|
||||
@@ -319,14 +319,14 @@
|
||||
|
||||
/* Define basic vector types */
|
||||
#if defined(__VEC__)
|
||||
#include <altivec.h> /* 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;
|
||||
+ 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
|
||||
Reference in New Issue
Block a user