Without this patch cogl will not build for armv4 as it uses an
unsupported instruction. This changeset adds a patch from Wolfgang
Denk to add an extra guard around armv5 or above code.

Signed-off-by: Joshua Lock <[email protected]>
---
 .../clutter/cogl/build_for_armv4t.patch            |   23 ++++++++++++++++++++
 meta/recipes-graphics/clutter/cogl_1.8.2.bb        |    5 +++-
 meta/recipes-graphics/clutter/cogl_git.bb          |    5 ++-
 3 files changed, 30 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch

diff --git a/meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch 
b/meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch
new file mode 100644
index 0000000..3635085
--- /dev/null
+++ b/meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch
@@ -0,0 +1,23 @@
+GCC will define __ARM_ARCH_4T__ when building with "-march=armv4t" so we can
+check this to turn off the use of 'clz' instructions, which otherwise would
+cause compile errors like "selected processor does not support ARM mode 
+`clz r3,r0'". 
+
+Upstream-Status: Submitted
+
+Signed-off-by: Wolfgang Denk <[email protected]>
+Signed-off-by: Joshua Lock <[email protected]>
+
+Index: cogl-1.8.2/cogl/cogl-fixed.c
+===================================================================
+--- cogl-1.8.2.orig/cogl/cogl-fixed.c
++++ cogl-1.8.2/cogl/cogl-fixed.c
+@@ -626,7 +626,7 @@ cogl_fixed_sqrt (CoglFixed x)
+       /*
+        * Find the highest bit set
+        */
+-#if defined (__arm__)
++#if defined (__arm__) && !defined(__ARM_ARCH_4T__)
+       /* This actually requires at least arm v5, but gcc does not seem
+        * to set the architecture defines correctly, and it is I think
+        * very unlikely that anyone will want to use clutter on anything
diff --git a/meta/recipes-graphics/clutter/cogl_1.8.2.bb 
b/meta/recipes-graphics/clutter/cogl_1.8.2.bb
index d99c443..25875f3 100644
--- a/meta/recipes-graphics/clutter/cogl_1.8.2.bb
+++ b/meta/recipes-graphics/clutter/cogl_1.8.2.bb
@@ -1,9 +1,12 @@
 require cogl.inc
 
+PR = "r1"
+
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
 SRC_URI = 
"http://source.clutter-project.org/sources/cogl/1.8/${BPN}-${PV}.tar.bz2 \
-          file://macro-versions.patch"
+          file://macro-versions.patch \
+          file://build_for_armv4t.patch"
 
 SRC_URI[md5sum] = "3145cbf7ff162c33065ea4421c047e2f"
 SRC_URI[sha256sum] = 
"8b647b51a4fa93034fcd74ffe86b3d4c919b0e54789108f6d065414e6162ab73"
diff --git a/meta/recipes-graphics/clutter/cogl_git.bb 
b/meta/recipes-graphics/clutter/cogl_git.bb
index 7a10dd8..689b965 100644
--- a/meta/recipes-graphics/clutter/cogl_git.bb
+++ b/meta/recipes-graphics/clutter/cogl_git.bb
@@ -5,11 +5,12 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 # the 1.8.2 tag
 SRCREV = "e398e374e2ff0e88bc1d63577a192f8ca04a1cb5"
 PV = "1.8.2+git${SRCPV}"
-PR = "r0"
+PR = "r1"
 
 DEFAULT_PREFERENCE = "-1"
 
-SRC_URI = "git://git.gnome.org/cogl;protocol=git;branch=master"
+SRC_URI = "git://git.gnome.org/cogl;protocol=git;branch=master \
+          file://build_for_armv4t.patch"
 S = "${WORKDIR}/git"
 
 AUTOTOOLS_AUXDIR = "${S}/build"
-- 
1.7.7.5


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to