diff options
Diffstat (limited to 'meta/recipes-multimedia/mpeg2dec')
-rw-r--r-- | meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch | 41 | ||||
-rw-r--r-- | meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb | 5 |
2 files changed, 44 insertions, 2 deletions
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch b/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch new file mode 100644 index 0000000000..ecb3a9d32e --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | Add new method to judge whether <altivec.h> is needed | ||
2 | |||
3 | The original logic will use "typedef vector int t;" to judge | ||
4 | whether <altivec.h> is needed. altivec.h contains the following | ||
5 | statement: | ||
6 | |||
7 | #if !defined(__APPLE_ALTIVEC__) | ||
8 | #define vector __vector | ||
9 | #define pixel __pixel | ||
10 | #define bool | ||
11 | #endif | ||
12 | |||
13 | In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither | ||
14 | as vector, pixel, and bool. In order to make "typedef vector int t;" | ||
15 | pass the compilation, we need to include altivec.h. | ||
16 | |||
17 | However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler, | ||
18 | so as vector, pixel, and bool. We could not judge whether | ||
19 | altivec.h is needed by "typedef vector int t;". | ||
20 | Here we include another statement "int tmp = __CR6_EQ;", in | ||
21 | which __CR6_EQ is defined in altivec.h. | ||
22 | |||
23 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
24 | |||
25 | diff -ruN mpeg2dec-0.4.1-orig/configure.in mpeg2dec-0.4.1/configure.in | ||
26 | --- mpeg2dec-0.4.1-orig/configure.in 2010-09-14 20:55:42.399687663 +0800 | ||
27 | +++ mpeg2dec-0.4.1/configure.in 2010-09-14 20:56:43.403204648 +0800 | ||
28 | @@ -75,11 +75,11 @@ | ||
29 | CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" | ||
30 | AC_MSG_CHECKING([if <altivec.h> is needed]) | ||
31 | AC_TRY_COMPILE([], | ||
32 | - [typedef vector int t; | ||
33 | + [typedef vector int t; int tmp = __CR6_EQ; | ||
34 | vec_ld(0, (unsigned char *)0);], | ||
35 | [have_altivec=yes; AC_MSG_RESULT(no)], | ||
36 | [AC_TRY_COMPILE([#include <altivec.h>], | ||
37 | - [typedef vector int t; vec_ld(0, (unsigned char *)0);], | ||
38 | + [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);], | ||
39 | [AC_DEFINE([HAVE_ALTIVEC_H],, | ||
40 | [Define to 1 if you have the <altivec.h> header.]) | ||
41 | have_altivec=yes; AC_MSG_RESULT(yes)], | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb index a769e5a70e..4aa6f8cc66 100644 --- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb | |||
@@ -8,9 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | |||
8 | 8 | ||
9 | DEPENDS = "virtual/libx11" | 9 | DEPENDS = "virtual/libx11" |
10 | 10 | ||
11 | PR = "r0" | 11 | PR = "r1" |
12 | 12 | ||
13 | SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz" | 13 | SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz \ |
14 | file://altivec_h_needed.patch" | ||
14 | 15 | ||
15 | inherit autotools pkgconfig | 16 | inherit autotools pkgconfig |
16 | 17 | ||