Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 1/1] package/meson: fix cpu_family format
Date: Tue, 25 Dec 2018 19:56:24 +0100	[thread overview]
Message-ID: <20181225185624.GL2703@scaer> (raw)
In-Reply-To: <1545002062-20630-1-git-send-email-james.hilliard1@gmail.com>

James, All,

On 2018-12-17 07:14 +0800, james.hilliard1 at gmail.com spake thusly:
> From: James Hilliard <james.hilliard1@gmail.com>
> 
> Meson expects the cpu_family to be in a specific format for
> cross compilation, otherwise packages that use cpu_family
> detection may fail to build.

As explained in:
    https://mesonbuild.com/Reference-tables.html#cpu-families

> We also need to set needs_exe_wrapper = true to ensure that
> meson won't try and execute test binaries.

As explained in:
    https://mesonbuild.com/Cross-compilation.html

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> Changes v1 -> v2:
>   - change riscv to 64 bit
> 
> Changes v2 -> v3:
>   - combine HOST_MESON_TARGET_CPU_FAMILY archs
> ---
>  package/meson/cross-compilation.conf.in |  1 +
>  package/meson/meson.mk                  | 31 ++++++++++++++++++++++++++++++-
>  2 files changed, 31 insertions(+), 1 deletion(-)
> 
> diff --git a/package/meson/cross-compilation.conf.in b/package/meson/cross-compilation.conf.in
> index 0eec740..fc8e27f 100644
> --- a/package/meson/cross-compilation.conf.in
> +++ b/package/meson/cross-compilation.conf.in
> @@ -11,6 +11,7 @@ strip = '@TARGET_CROSS at strip'
>  pkgconfig = '@HOST_DIR@/usr/bin/pkg-config'
>  
>  [properties]
> +needs_exe_wrapper = true
>  c_args = [@TARGET_CFLAGS@]
>  c_link_args = [@TARGET_LDFLAGS@]
>  cpp_args = [@TARGET_CXXFLAGS@]
> diff --git a/package/meson/meson.mk b/package/meson/meson.mk
> index e1675c2..1113bf0 100644
> --- a/package/meson/meson.mk
> +++ b/package/meson/meson.mk
> @@ -16,6 +16,35 @@ HOST_MESON_NEEDS_HOST_PYTHON = python3
>  HOST_MESON_TARGET_ENDIAN = $(call LOWERCASE,$(BR2_ENDIAN))
>  HOST_MESON_TARGET_CPU = $(GCC_TARGET_CPU)
>  
> +# https://mesonbuild.com/Reference-tables.html#cpu-families
> +ifeq ($(BR2_arcle)$(BR2_arceb),y)
> +HOST_MESON_TARGET_CPU_FAMILY = arc
> +else ifeq ($(BR2_arm)$(BR2_armeb),y)
> +HOST_MESON_TARGET_CPU_FAMILY = arm
> +else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y)
> +HOST_MESON_TARGET_CPU_FAMILY = aarch64
> +else ifeq ($(BR2_i386),y)
> +HOST_MESON_TARGET_CPU_FAMILY = x86
> +else ifeq ($(BR2_mips)$(BR2_mipsel),y)
> +HOST_MESON_TARGET_CPU_FAMILY = mips
> +else ifeq ($(BR2_mips64)$(BR2_mips64el),y)
> +HOST_MESON_TARGET_CPU_FAMILY = mips64
> +else ifeq ($(BR2_powerpc),y)
> +HOST_MESON_TARGET_CPU_FAMILY = ppc
> +else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
> +HOST_MESON_TARGET_CPU_FAMILY = ppc64
> +else ifeq ($(BR2_riscv),y)
> +HOST_MESON_TARGET_CPU_FAMILY = riscv64
> +else ifeq ($(BR2_sparc),y)
> +HOST_MESON_TARGET_CPU_FAMILY = sparc
> +else ifeq ($(BR2_sparc64),y)
> +HOST_MESON_TARGET_CPU_FAMILY = sparc64
> +else ifeq ($(BR2_x86_64),y)
> +HOST_MESON_TARGET_CPU_FAMILY = x86_64
> +else
> +HOST_MESON_TARGET_CPU_FAMILY = $(ARCH)
> +endif
> +
>  HOST_MESON_SED_CFLAGS = $(if $(TARGET_CFLAGS),`printf '"%s"$(comma) ' $(TARGET_CFLAGS)`)
>  HOST_MESON_SED_LDFLAGS = $(if $(TARGET_LDFLAGS),`printf '"%s"$(comma) ' $(TARGET_LDFLAGS)`)
>  HOST_MESON_SED_CXXFLAGS = $(if $(TARGET_CXXFLAGS),`printf '"%s"$(comma) ' $(TARGET_CXXFLAGS)`)
> @@ -23,7 +52,7 @@ HOST_MESON_SED_CXXFLAGS = $(if $(TARGET_CXXFLAGS),`printf '"%s"$(comma) ' $(TARG
>  define HOST_MESON_INSTALL_CROSS_CONF
>  	mkdir -p $(HOST_DIR)/etc/meson
>  	sed -e "s%@TARGET_CROSS@%$(TARGET_CROSS)%g" \
> -	    -e "s%@TARGET_ARCH@%$(ARCH)%g" \
> +	    -e "s%@TARGET_ARCH@%$(HOST_MESON_TARGET_CPU_FAMILY)%g" \
>  	    -e "s%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g" \
>  	    -e "s%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g" \
>  	    -e "s%@TARGET_CFLAGS@%$(HOST_MESON_SED_CFLAGS)%g" \
> -- 
> 2.7.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2018-12-25 18:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-16 23:14 [Buildroot] [PATCH v3 1/1] package/meson: fix cpu_family format james.hilliard1 at gmail.com
2018-12-25 18:56 ` Yann E. MORIN [this message]
2018-12-26  8:00   ` Yann E. MORIN
2018-12-26  8:34     ` James Hilliard
2018-12-26  8:50       ` Yann E. MORIN
2018-12-26 11:16         ` James Hilliard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181225185624.GL2703@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox