[OE-core] [OE-Core][PATCH] v86d: Make cross compilation working on more architectures

Khem Raj raj.khem at gmail.com
Thu Nov 1 00:14:32 UTC 2018


On Wed, Oct 31, 2018 at 7:56 AM Serhey Popovych
<serhe.popovych at gmail.com> wrote:
>
> 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.
>

this is a good change, thanks for doing it

> Signed-off-by: Serhey Popovych <serhe.popovych at 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 at 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 at 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 at 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 at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list