summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/mpeg2dec
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2010-09-16 13:51:09 +0800
committerSaul Wold <Saul.Wold@intel.com>2010-09-17 11:41:58 -0700
commit0ff070bbf1575be62691eea7b9fb3ca74f2ab373 (patch)
tree225ec6b34647a07998183aff261c1afde493740c /meta/recipes-multimedia/mpeg2dec
parent8e9caafd0b94016568dfccf969a0e326f3645fa6 (diff)
downloadpoky-0ff070bbf1575be62691eea7b9fb3ca74f2ab373.tar.gz
gcc: upgrade gcc for powerpc to version 4.5.0
Fix one parameter order issue for base_contains function, which impacts glibc build under new gcc. Add new judge code to determine whether <altivec.h> is needed. This fixes the mpeg2dec build failure under new gcc. Use O2 as the optimization flag to tinylogin as it will meet segfault if compiled by gcc-4.5.0 when enable both frename-registers and Os options. Use O2 instead. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Diffstat (limited to 'meta/recipes-multimedia/mpeg2dec')
-rw-r--r--meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch41
-rw-r--r--meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb5
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 @@
1Add 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
23Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
24
25diff -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
9DEPENDS = "virtual/libx11" 9DEPENDS = "virtual/libx11"
10 10
11PR = "r0" 11PR = "r1"
12 12
13SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz" 13SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz \
14 file://altivec_h_needed.patch"
14 15
15inherit autotools pkgconfig 16inherit autotools pkgconfig
16 17