[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    [OE-core] [OE-Core][PATCH] v86d: Make cross compilation working on more architectures
From:       Serhey Popovych <serhe.popovych () gmail ! com>
Date:       2018-10-31 14:55:47
Message-ID: 1540997747-6079-1-git-send-email-serhe.popovych () gmail ! com
[Download RAW message or body]

Since commit 709c603dec19 ("v86d: Accept aarch64 as build host") we
support cross compilation on aarch64 host in addition to x86 host.
However building on hosts different than two above will fail.

Make cross compilation support more generic by checking for TARGET_ARCH
in v86d configure script with fallback to `uname -m` when not present in
environment and pass TARGET_ARCH explicitly in do_configure().

Cross build for x86 tested on IBM Power 8 machine with RHEL7. Should
work on aarch64 and rest too.

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
 .../v86d/v86d/Support-for-cross-compilation.patch  | 34 ++++++++++++++++++++++
 meta/recipes-bsp/v86d/v86d/aarch64-host.patch      | 18 ------------
 meta/recipes-bsp/v86d/v86d_0.1.10.bb               |  4 +--
 3 files changed, 36 insertions(+), 20 deletions(-)
 create mode 100644 meta/recipes-bsp/v86d/v86d/Support-for-cross-compilation.patch
 delete mode 100644 meta/recipes-bsp/v86d/v86d/aarch64-host.patch

diff --git a/meta/recipes-bsp/v86d/v86d/Support-for-cross-compilation.patch \
b/meta/recipes-bsp/v86d/v86d/Support-for-cross-compilation.patch new file mode 100644
index 0000000..15f70a5
--- /dev/null
+++ b/meta/recipes-bsp/v86d/v86d/Support-for-cross-compilation.patch
@@ -0,0 +1,34 @@
+From 8eda59654fd31416164c78f6068715b01767ed4e Mon Sep 17 00:00:00 2001
+From: Serhey Popovych <serhe.popovych@gmail.com>
+Date: Wed, 31 Oct 2018 07:31:47 -0400
+Subject: v86d: Support for cross compilation
+
+It is common to build on one system for another (e.g. on IBM Power
+machine for Intel x86) where HOST_ARCH (uname -m) != TARGET_ARCH.
+
+Take TARGET_ARCH from environment if it is given, otherwise fall back
+to `uname -m`.
+
+Upstream-Status: Pending
+Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
+---
+ configure | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index cbbd6b3..046aa99 100755
+--- a/configure
++++ b/configure
+@@ -23,7 +23,8 @@ copt_x86emu_type="bool"
+ copt_x86emu_def=auto
+ copt_x86emu_test()
+ {
+-	local m=`uname -m`
++	local m="${TARGET_ARCH:-$(uname -m)}"
++
+ 	if [ "$m" = "i686" -o "$m" = "i586" -o "$m" = "i486" -o "$m" = "i386" ]; then
+ 		echo "n";
+ 	elif [ "$m" = "x86_64" ]; then
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-bsp/v86d/v86d/aarch64-host.patch \
b/meta/recipes-bsp/v86d/v86d/aarch64-host.patch deleted file mode 100644
index 701fed7..0000000
--- a/meta/recipes-bsp/v86d/v86d/aarch64-host.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Accept aarch64 as valid build host
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: v86d-0.1.10/configure
-===================================================================
---- v86d-0.1.10.orig/configure
-+++ v86d-0.1.10/configure
-@@ -26,7 +26,7 @@ copt_x86emu_test()
- 	local m=`uname -m`
- 	if [ "$m" = "i686" -o "$m" = "i586" -o "$m" = "i486" -o "$m" = "i386" ]; then
- 		echo "n";
--	elif [ "$m" = "x86_64" ]; then
-+	elif [ "$m" = "x86_64" -o "$m" = "aarch64" ]; then
- 		echo "y";
- 	else
- 		echo "It looks like your architecture '$m' isn't supported by this version of \
                v86d." >&2
diff --git a/meta/recipes-bsp/v86d/v86d_0.1.10.bb \
b/meta/recipes-bsp/v86d/v86d_0.1.10.bb index f97b80d..84e27d2 100644
--- a/meta/recipes-bsp/v86d/v86d_0.1.10.bb
+++ b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
@@ -12,7 +12,7 @@ PR = "r2"
 SRC_URI = "http://snapshot.debian.org/archive/debian/20110427T035506Z/pool/main/v/${BPN}/${BPN}_${PV}.orig.tar.gz \
\  file://Update-x86emu-from-X.org.patch \
            file://ar-from-env.patch \
-           file://aarch64-host.patch \
+           file://Support-for-cross-compilation.patch \
 "
 
 SRC_URI[md5sum] = "889686ec8424468fe0d205742e77a4c2"
@@ -22,7 +22,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
 
 do_configure () {
-	./configure --with-x86emu
+	TARGET_ARCH="${TARGET_ARCH}" ./configure --with-x86emu
 }
 
 do_compile () {
-- 
2.7.4

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic