aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/liboil
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2009-05-10 10:23:29 -0700
committerKhem Raj <raj.khem@gmail.com>2009-05-10 10:23:29 -0700
commita81810bac25bbe1565ea5e327ba8ecc37010c595 (patch)
tree9e0aad9fa96048a71bf4ac233be1fae3df8d9709 /recipes/liboil
parent914745ead79f70f33b762d66a43f906da2dbe19c (diff)
downloadopenembedded-a81810bac25bbe1565ea5e327ba8ecc37010c595.tar.gz
liboil_0.3.15: Consider the soft-float case.
__VFP_FP__ means that the floating point format in use is that of the ARM VFP. It does not tell if one has VFP unit or not. So using this define will still use VFP instructions on cpus which do not have VFP. To know that we also need to consider __SOFTFP__ which means that instead of floating point instructions, library calls are being generated for floating point math operations so that the code will run on a processor without an FPU.
Diffstat (limited to 'recipes/liboil')
-rw-r--r--recipes/liboil/liboil-0.3.15/arm-vfp.patch26
-rw-r--r--recipes/liboil/liboil_0.3.15.bb3
2 files changed, 28 insertions, 1 deletions
diff --git a/recipes/liboil/liboil-0.3.15/arm-vfp.patch b/recipes/liboil/liboil-0.3.15/arm-vfp.patch
new file mode 100644
index 0000000000..7c63aaf994
--- /dev/null
+++ b/recipes/liboil/liboil-0.3.15/arm-vfp.patch
@@ -0,0 +1,26 @@
+Index: liboil-0.3.15/liboil/arm/math_vfp.c
+===================================================================
+--- liboil-0.3.15.orig/liboil/arm/math_vfp.c 2008-03-13 13:17:59.000000000 -0700
++++ liboil-0.3.15/liboil/arm/math_vfp.c 2009-05-06 01:51:09.000000000 -0700
+@@ -30,7 +30,7 @@
+ #include <liboil/liboilclasses.h>
+ #include <liboil/liboilfunction.h>
+
+-#if __VFP_FP__
++#if defined(__VFP_FP__) && !defined(__SOFTFP__)
+
+ extern void vfp_add_f32 (float *d, const float *s1, const float *s2, int n);
+ extern void vfp_add_f64 (double *d, const double *s1, const double *s2, int n);
+Index: liboil-0.3.15/liboil/arm/math_vfp_asm.S
+===================================================================
+--- liboil-0.3.15.orig/liboil/arm/math_vfp_asm.S 2007-11-15 18:53:47.000000000 -0800
++++ liboil-0.3.15/liboil/arm/math_vfp_asm.S 2009-05-06 01:50:39.000000000 -0700
+@@ -24,7 +24,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#if __VFP_FP__
++#if defined(__VFP_FP__) && !defined(__SOFTFP__)
+ /*
+ ** compile with -mcpu=arm1136j-s -mfpu=vfp -mfloat-abi=softfp
+ **
diff --git a/recipes/liboil/liboil_0.3.15.bb b/recipes/liboil/liboil_0.3.15.bb
index 338121ac66..a077fb4e7d 100644
--- a/recipes/liboil/liboil_0.3.15.bb
+++ b/recipes/liboil/liboil_0.3.15.bb
@@ -1,12 +1,13 @@
DESCRIPTION = "Liboil is a library of simple functions that are optimized for various CPUs."
HOMEPAGE = "http://liboil.freedesktop.org/"
LICENSE = "various"
-PR = "r2"
+PR = "r4"
DEPENDS = "glib-2.0"
SRC_URI = "http://liboil.freedesktop.org/download/${P}.tar.gz \
file://autotools.patch;patch=1 \
+ file://arm-vfp.patch;patch=1 \
"
inherit autotools pkgconfig