blob: 7dc56436f086d20cf09cdc241095f1f16f2d2c98 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001Add new method to judge whether <altivec.h> is needed
2
3The original logic will use "typedef vector int t;" to judge
4whether <altivec.h> is needed. altivec.h contains the following
5statement:
6
7 #if !defined(__APPLE_ALTIVEC__)
8 #define vector __vector
9 #define pixel __pixel
10 #define bool
11 #endif
12
13In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither
14as vector, pixel, and bool. In order to make "typedef vector int t;"
15pass the compilation, we need to include altivec.h.
16
17However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler,
18so as vector, pixel, and bool. We could not judge whether
19altivec.h is needed by "typedef vector int t;".
20Here we include another statement "int tmp = __CR6_EQ;", in
21which __CR6_EQ is defined in altivec.h.
22
23Upstream-Status: Pending
24
25Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
26
27diff -ruN mpeg2dec-0.4.1-orig/configure.in mpeg2dec-0.4.1/configure.in
28--- mpeg2dec-0.4.1-orig/configure.in 2010-09-14 20:55:42.399687663 +0800
29+++ mpeg2dec-0.4.1/configure.in 2010-09-14 20:56:43.403204648 +0800
30@@ -75,11 +75,11 @@
31 CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS"
32 AC_MSG_CHECKING([if <altivec.h> is needed])
33 AC_TRY_COMPILE([],
34- [typedef vector int t;
35+ [typedef vector int t; int tmp = __CR6_EQ;
36 vec_ld(0, (unsigned char *)0);],
37 [have_altivec=yes; AC_MSG_RESULT(no)],
38 [AC_TRY_COMPILE([#include <altivec.h>],
39- [typedef vector int t; vec_ld(0, (unsigned char *)0);],
40+ [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);],
41 [AC_DEFINE([HAVE_ALTIVEC_H],,
42 [Define to 1 if you have the <altivec.h> header.])
43 have_altivec=yes; AC_MSG_RESULT(yes)],