[oe] [PATCH][meta-oe 2/3] nodejs: force use of -mfpu-abi=soft for ARMv5

Otavio Salvador otavio at ossystems.com.br
Mon Jun 11 15:34:57 UTC 2012


The build system defaults to 'softfp' but this use hardware
instructions that are not available making node to fail to run on
ARMv5 based CPUs. Now we check if TARGET_FPU is 'soft' and change the
default of the build system so it works.

Tested on i.MX233 (ARM926EJ-S)

Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
index 7136ffc..972d02a 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb
@@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f"
 
 DEPENDS = "openssl"
 
+PR = "r1"
+
 SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
            file://fix-hardfloat-detection.patch"
 
@@ -16,6 +18,9 @@ S = "${WORKDIR}/node-v${PV}"
 # v8 errors out if you have set CCACHE
 CCACHE = ""
 
+# Workaround a build to proper use soft FPU for armv5
+FORCE_SOFT_FPU = "${@bb.utils.contains("TUNE_FEATURES", "soft", "yes", "no", d)}"
+
 do_configure_virtclass-native () {
   sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript
   sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript
@@ -40,6 +45,10 @@ do_configure () {
   export CC=gcc
   export CXX=g++
 
+  if [ "${FORCE_SOFT_FPU}" = "yes" ]; then
+    sed -i "s,'default': 'softfp','default': 'soft',g" ${S}/deps/v8/SConstruct
+  fi
+
   ./configure --prefix=${prefix} --without-snapshot
 }
 
-- 
1.7.2.5





More information about the Openembedded-devel mailing list