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 <[email protected]> --- 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 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
