From 918b2782c73fb955d9c5014779879f11af6cf643 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 17 Apr 2013 10:47:05 +0200 Subject: [PATCH] v8: add arm cross build support (from pancake). --- srcpkgs/v8/template | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/srcpkgs/v8/template b/srcpkgs/v8/template index 804014bc54..178fae0ad2 100644 --- a/srcpkgs/v8/template +++ b/srcpkgs/v8/template @@ -20,17 +20,49 @@ long_desc=" This package contains v8 the utilities mksnapshot and the d8 shell." -makedepends="which subversion python readline-devel" +hostmakedepends="which subversion python" +makedepends="readline-devel" do_build() { - make ${makejobs} native library=shared console=readline \ - disassembler=on liveobjectlist=on + # TODO: add support to crosscompile for other targets. + if [ "$CROSS_BUILD" ]; then + case "${XBPS_TARGET_MACHINE}" in + arm*) + # NOTE: hardfp can be problematic if not hf is supported on target cpu + sed -e "s/m32flag':.*/m32flag':'',/" -i build/common.gypi + LINK="${CXX}" make V=1 ${makejobs} arm.release \ + hardfp=on library=shared console=readline \ + disassembler=on snapshot=off \ + CXX.host=${CXX} CXX.link=${CXX} LINK.target="${CXX}" + ;; + *) msg_error "$pkgver: cannot cross compile for ${XBPS_TARGET_MACHINE}.\n" + ;; + esac + else + # native build + make ${makejobs} native library=shared console=readline \ + disassembler=on liveobjectlist=on + fi } do_install() { - vinstall out/native/d8 755 usr/bin - vinstall out/native/mksnapshot 755 usr/bin - vinstall out/native/lib.target/lib${pkgname}.so 755 usr/lib + if [ "$CROSS_BUILD" ]; then + case "$XBPS_TARGET_MACHINE" in + arm*) + vinstall out/arm.release/d8 755 usr/bin + vinstall out/arm.release/lib.target/lib${pkgname}.so 755 usr/lib + ;; + esac + else + # native build + vinstall out/native/d8 755 usr/bin + vinstall out/native/lib.target/lib${pkgname}.so 755 usr/lib + fi + if [ -z "$CROSS_BUILD" ]; then + # mksnapshot only built in native builds. + vinstall out/native/mksnapshot 755 usr/bin + fi + vinstall include/${pkgname}-debug.h 644 usr/include vinstall include/${pkgname}-preparser.h 644 usr/include vinstall include/${pkgname}-profiler.h 644 usr/include