summaryrefslogtreecommitdiffstats
path: root/meta
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
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')
-rw-r--r--meta/conf/distro/include/poky-default.inc1
-rw-r--r--meta/recipes-core/tinylogin/tinylogin-1.4/use_O2_option.patch19
-rw-r--r--meta/recipes-core/tinylogin/tinylogin_1.4.bb5
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc3
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_4.5.0.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb2
-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
27 files changed, 89 insertions, 27 deletions
diff --git a/meta/conf/distro/include/poky-default.inc b/meta/conf/distro/include/poky-default.inc
index 42dd67c682..0dabeec27c 100644
--- a/meta/conf/distro/include/poky-default.inc
+++ b/meta/conf/distro/include/poky-default.inc
@@ -16,7 +16,6 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-n
16 16
17 17
18GCCVERSION ?= "4.5.0" 18GCCVERSION ?= "4.5.0"
19GCCVERSION_powerpc ?= "4.3.3"
20GCCVERSION_mips ?= "4.3.3" 19GCCVERSION_mips ?= "4.3.3"
21SDKGCCVERSION ?= "4.5.0" 20SDKGCCVERSION ?= "4.5.0"
22BINUVERSION ?= "2.20.1" 21BINUVERSION ?= "2.20.1"
diff --git a/meta/recipes-core/tinylogin/tinylogin-1.4/use_O2_option.patch b/meta/recipes-core/tinylogin/tinylogin-1.4/use_O2_option.patch
new file mode 100644
index 0000000000..dc5bc3f123
--- /dev/null
+++ b/meta/recipes-core/tinylogin/tinylogin-1.4/use_O2_option.patch
@@ -0,0 +1,19 @@
1tinylogin will meet segment fault if compiled by gcc-4.5.0 when enable both
2frename-registers and Os options. Use O2 instead.
3
4Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
5
6diff -ruN tinylogin-1.4-orig/Makefile tinylogin-1.4/Makefile
7--- tinylogin-1.4-orig/Makefile 2010-09-16 13:02:06.302192295 +0800
8+++ tinylogin-1.4/Makefile 2010-09-16 13:02:34.634167846 +0800
9@@ -97,9 +97,7 @@
10 #--------------------------------------------------------
11
12
13-# use '-Os' optimization if available, else use -O2
14-OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
15- then echo "-Os"; else echo "-O2" ; fi)
16+OPTIMIZATION = -O2
17
18 WARNINGS = -Wall
19
diff --git a/meta/recipes-core/tinylogin/tinylogin_1.4.bb b/meta/recipes-core/tinylogin/tinylogin_1.4.bb
index ad254bff6a..3daeac004a 100644
--- a/meta/recipes-core/tinylogin/tinylogin_1.4.bb
+++ b/meta/recipes-core/tinylogin/tinylogin_1.4.bb
@@ -5,13 +5,14 @@ changing passwords, and otherwise maintaining users \
5and groups on an embedded system." 5and groups on an embedded system."
6HOMEPAGE = "http://tinylogin.busybox.net/" 6HOMEPAGE = "http://tinylogin.busybox.net/"
7LICENSE = "GPL" 7LICENSE = "GPL"
8PR = "r4" 8PR = "r5"
9 9
10SRC_URI = "http://tinylogin.busybox.net/downloads/tinylogin-${PV}.tar.bz2 \ 10SRC_URI = "http://tinylogin.busybox.net/downloads/tinylogin-${PV}.tar.bz2 \
11 file://cvs-20040608.patch;patch=1;pnum=1 \ 11 file://cvs-20040608.patch;patch=1;pnum=1 \
12 file://add-system.patch;patch=1;pnum=1 \ 12 file://add-system.patch;patch=1;pnum=1 \
13 file://adduser-empty_pwd.patch;patch=1 \ 13 file://adduser-empty_pwd.patch;patch=1 \
14 file://remove-index.patch;patch=1" 14 file://remove-index.patch;patch=1 \
15 file://use_O2_option.patch"
15 16
16EXTRA_OEMAKE = "" 17EXTRA_OEMAKE = ""
17 18
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 5a55025ac5..d86cb9a0b6 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -17,7 +17,8 @@ LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
17# hidden symbols in libgcc.a which linker complains 17# hidden symbols in libgcc.a which linker complains
18# when linking shared libraries further in the build like (gnutls) 18# when linking shared libraries further in the build like (gnutls)
19 19
20OPTSPACE = "${@base_contains('TARGET_ARCH', ['powerpc', 'arm'], '', '--enable-target-optspace',d)}" 20SPECIAL_ARCH_LIST = "powerpc arm"
21OPTSPACE = ${@base_contains("SPECIAL_ARCH_LIST", "${TARGET_ARCH}", "", "--enable-target-optspace",d)}
21 22
22EXTRA_OECONF_BASE ?= "" 23EXTRA_OECONF_BASE ?= ""
23EXTRA_OECONF_PATHS ?= "" 24EXTRA_OECONF_PATHS ?= ""
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb
index 981452b7a7..87cd27a95c 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
5require gcc-configure-sdk.inc 5require gcc-configure-sdk.inc
6require gcc-package-sdk.inc 6require gcc-package-sdk.inc
7 7
8PR = "r17" 8PR = "r18"
9 9
10DEPENDS += "gmp-nativesdk mpfr-nativesdk" 10DEPENDS += "gmp-nativesdk mpfr-nativesdk"
11RDEPENDS_${PN} += "mpfr-nativesdk" 11RDEPENDS_${PN} += "mpfr-nativesdk"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb
index dd19412139..e1a8e970d0 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
5require gcc-configure-sdk.inc 5require gcc-configure-sdk.inc
6require gcc-package-sdk.inc 6require gcc-package-sdk.inc
7 7
8PR = "r6" 8PR = "r7"
9 9
10DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" 10DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
11RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" 11RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
index b2c257d9d4..38e0964fed 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
@@ -1,5 +1,5 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-initial.inc 2require gcc-cross-initial.inc
3 3
4PR = "r2" 4PR = "r3"
5 5
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.0.bb
index 7ed31956c8..e05fb346e8 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.0.bb
@@ -1,5 +1,5 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-initial.inc 2require gcc-cross-initial.inc
3 3
4PR = "r7" 4PR = "r8"
5 5
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
index 10681dad4b..e65d5df671 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
@@ -1,4 +1,4 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc 2require gcc-cross-intermediate.inc
3PR = "r2" 3PR = "r3"
4 4
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.0.bb
index 702229d2fd..e0147743ee 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.0.bb
@@ -1,4 +1,4 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc 2require gcc-cross-intermediate.inc
3PR = "r7" 3PR = "r8"
4 4
diff --git a/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb b/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb
index bee82d045f..675d3e44af 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb
@@ -9,7 +9,7 @@ require gcc-cross-kernel.inc
9 9
10DEFAULT_PREFERENCE = "-1" 10DEFAULT_PREFERENCE = "-1"
11 11
12PR = "r2" 12PR = "r3"
13 13
14SRC_URI += "file://gcc-3.4.4-makefile-fix.patch;patch=1" 14SRC_URI += "file://gcc-3.4.4-makefile-fix.patch;patch=1"
15 15
diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb
index 36f91d0221..d22fb9ed22 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb
@@ -1,4 +1,4 @@
1PR = "r15" 1PR = "r16"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require gcc-cross4.inc
diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb
index 2a0772841d..2246663594 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb
@@ -1,4 +1,4 @@
1PR = "r7" 1PR = "r8"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require gcc-cross4.inc
diff --git a/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
index 2fe7704adf..7cef7e7a3a 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
@@ -1,4 +1,4 @@
1PR = "r3" 1PR = "r4"
2 2
3require gcc-csl-arm-2008q1.inc 3require gcc-csl-arm-2008q1.inc
4require gcc-cross4.inc 4require gcc-cross4.inc
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
index e804b4b016..44dd50dcb8 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
@@ -1,3 +1,3 @@
1require gcc-cross-initial_${PV}.bb 1require gcc-cross-initial_${PV}.bb
2require gcc-crosssdk-initial.inc 2require gcc-crosssdk-initial.inc
3PR = "r3" 3PR = "r4"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.0.bb
index 9ee18ecfe9..9daa2925b1 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.0.bb
@@ -1,4 +1,4 @@
1require gcc-cross-initial_${PV}.bb 1require gcc-cross-initial_${PV}.bb
2require gcc-crosssdk-initial.inc 2require gcc-crosssdk-initial.inc
3 3
4PR = "r7" 4PR = "r8"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb
index 5f01473add..ae439622ac 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb
@@ -1,3 +1,3 @@
1require gcc-cross-intermediate_${PV}.bb 1require gcc-cross-intermediate_${PV}.bb
2require gcc-crosssdk-intermediate.inc 2require gcc-crosssdk-intermediate.inc
3PR = "r6" 3PR = "r7"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.0.bb
index 28dbbab9f4..eeb2d87d54 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.0.bb
@@ -1,4 +1,4 @@
1require gcc-cross-intermediate_${PV}.bb 1require gcc-cross-intermediate_${PV}.bb
2require gcc-crosssdk-intermediate.inc 2require gcc-crosssdk-intermediate.inc
3 3
4PR = "r7" 4PR = "r8"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.3.3.bb
index 92a3f11388..ffbd671598 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.3.3.bb
@@ -1,3 +1,3 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-crosssdk.inc 2require gcc-crosssdk.inc
3PR="r1" 3PR="r2"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.0.bb
index 31ebe80978..ffb0739c5d 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.0.bb
@@ -1,4 +1,4 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-crosssdk.inc 2require gcc-crosssdk.inc
3 3
4PR = "r7" 4PR = "r8"
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
index 543bf24b77..8c7c123f2e 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
@@ -1,4 +1,4 @@
1PR = "r15" 1PR = "r16"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-configure-runtime.inc 4require gcc-configure-runtime.inc
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb
index 28bae50197..2231c4269e 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb
@@ -1,4 +1,4 @@
1PR = "r6" 1PR = "r7"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-configure-runtime.inc 4require gcc-configure-runtime.inc
diff --git a/meta/recipes-devtools/gcc/gcc_4.3.3.bb b/meta/recipes-devtools/gcc/gcc_4.3.3.bb
index a2ae0c0e92..ca22e0f69c 100644
--- a/meta/recipes-devtools/gcc/gcc_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.3.3.bb
@@ -1,4 +1,4 @@
1PR = "r8" 1PR = "r9"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-configure-target.inc 4require gcc-configure-target.inc
diff --git a/meta/recipes-devtools/gcc/gcc_4.5.0.bb b/meta/recipes-devtools/gcc/gcc_4.5.0.bb
index e133c5bac7..45bbb01e40 100644
--- a/meta/recipes-devtools/gcc/gcc_4.5.0.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.5.0.bb
@@ -1,4 +1,4 @@
1PR = "r6" 1PR = "r7"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-configure-target.inc 4require gcc-configure-target.inc
diff --git a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
index 832167ca4e..4999c6a53e 100644
--- a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
+++ b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
@@ -1,4 +1,4 @@
1PR = "r1" 1PR = "r2"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-configure-target.inc 4require gcc-configure-target.inc
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