Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Jörg Krause" <joerg.krause@embedded.rocks>
To: buildroot@busybox.net
Subject: [Buildroot] [Patch v7 01/10] rustc: new virtual package
Date: Sun, 23 Jul 2017 15:14:24 +0200	[thread overview]
Message-ID: <1500815664.2333.5.camel@embedded.rocks> (raw)
In-Reply-To: <20170723081206.7774-2-eric.le.bihan.dev@free.fr>

Hi Eric,

On Sun, 2017-07-23 at 10:11 +0200, Eric Le Bihan wrote:
> The compiler for the Rust programming language is called rustc.
> 
> There is only one reference implementation for it, based on LLVM, from
> the Rust project [1]. It can generate code for various architectures so
> it can be labeled as a cross-compiler. But, as for GCC, building it
> from source takes time.
> 
> So it would be sensible to have at least one package which provides it
> as a pre-built version, fetched from the upstream project. Later another
> package can be added, to build it from source code.
> 
> In addition to the compiler, the standard library for the host and/or
> the target should also be fetched/built.
> 
> So, add a virtual package named rustc to enable support for multiple
> providers.
> 
> Currently, only the host variant will be available to allow the user to
> cross-compile Rust programs for the target.
> 
> [1] http://rust-lang.org
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/rustc/Config.in.host |  5 +++++
>  package/rustc/rustc.mk       | 25 +++++++++++++++++++++++++
>  2 files changed, 30 insertions(+)
>  create mode 100644 package/rustc/Config.in.host
>  create mode 100644 package/rustc/rustc.mk
> 
> diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host
> new file mode 100644
> index 0000000..fef78a7
> --- /dev/null
> +++ b/package/rustc/Config.in.host
> @@ -0,0 +1,5 @@
> +config BR2_PACKAGE_HAS_HOST_RUSTC
> +	bool
> +
> +config BR2_PACKAGE_PROVIDES_HOST_RUSTC
> +	string

According to the manual about the virtual package a "depends on
BR2_PACKAGE_HAS_SOMETHING_VIRTUAL" should be added here.

> diff --git a/package/rustc/rustc.mk b/package/rustc/rustc.mk
> new file mode 100644
> index 0000000..9bbe29f
> --- /dev/null
> +++ b/package/rustc/rustc.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# rustc
> +#
> +################################################################################
> +
> +RUST_TARGET_NAME := $(subst buildroot,unknown,$(GNU_TARGET_NAME))
> +
> +ifeq ($(BR2_ARM_CPU_ARMV7A),y)
> +RUST_TARGET_NAME := $(subst arm-,armv7-,$(RUST_TARGET_NAME))
> +endif
> +
> +ifeq ($(BR2_mips64)$(BR2_mips64el),y)
> +RUST_TARGET_NAME := $(subst -gnu,-gnuabi64,$(RUST_TARGET_NAME))
> +endif
> +
> +ifeq ($(HOSTARCH),x86_64)
> +RUST_HOST_ARCH = x86_64
> +else ifeq ($(HOSTARCH),x86)
> +RUST_HOST_ARCH = i686
> +endif
> +
> +RUST_HOST_NAME = $(RUST_HOST_ARCH)-unknown-linux-gnu
> 
> +$(eval $(host-virtual-package))

Considering this commit as adding a virtual package for the Rust
compiler, I would expect only the last line to be present and
RUST_TARGET_NAME and RUST_HOST_ARCH to be added later be a follow up
patch of the series.

  reply	other threads:[~2017-07-23 13:14 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-23  8:11 [Buildroot] [Patch v7 00/10] Add support for the Rust programming language Eric Le Bihan
2017-07-23  8:11 ` [Buildroot] [Patch v7 01/10] rustc: new virtual package Eric Le Bihan
2017-07-23 13:14   ` Jörg Krause [this message]
2017-08-10 22:34   ` Arnout Vandecappelle
2017-09-07 17:02     ` Eric Le Bihan
2017-07-23  8:11 ` [Buildroot] [Patch v7 02/10] rust-bin: new package Eric Le Bihan
2017-07-23 13:44   ` Jörg Krause
2017-07-23 14:00   ` Jörg Krause
2017-08-10 23:08   ` Arnout Vandecappelle
2017-09-07 18:13     ` Eric Le Bihan
2017-07-23  8:11 ` [Buildroot] [Patch v7 03/10] rustc: expose host variant in menuconfig Eric Le Bihan
2017-08-10 23:09   ` Arnout Vandecappelle
2017-07-23  8:12 ` [Buildroot] [Patch v7 04/10] rust-bootstrap: new package Eric Le Bihan
2017-08-10 23:13   ` Arnout Vandecappelle
2017-09-07 19:33     ` Eric Le Bihan
2017-07-23  8:12 ` [Buildroot] [Patch v7 05/10] cargo-bootstrap: " Eric Le Bihan
2017-07-23  8:12 ` [Buildroot] [Patch v7 06/10] rust: " Eric Le Bihan
2017-08-10 23:38   ` Arnout Vandecappelle
2017-09-07 19:58     ` Eric Le Bihan
2017-07-23  8:12 ` [Buildroot] [Patch v7 07/10] libssh2: add host variant Eric Le Bihan
2017-07-23  8:19   ` Baruch Siach
2017-08-10 23:40     ` Arnout Vandecappelle
2017-07-23  8:12 ` [Buildroot] [Patch v7 08/10] libhttpparser: " Eric Le Bihan
2017-08-10 23:41   ` Arnout Vandecappelle
2017-07-23  8:12 ` [Buildroot] [Patch v7 09/10] libcurl: " Eric Le Bihan
2017-08-10 23:45   ` Arnout Vandecappelle
2017-07-23  8:12 ` [Buildroot] [Patch v7 10/10] cargo: new package Eric Le Bihan
2017-08-10 23:58   ` Arnout Vandecappelle
2017-09-07 20:20     ` Eric Le Bihan
2017-08-10 23:59 ` [Buildroot] [Patch v7 00/10] Add support for the Rust programming language Arnout Vandecappelle
2017-09-07 20:22   ` Eric Le Bihan

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=1500815664.2333.5.camel@embedded.rocks \
    --to=joerg.krause@embedded.rocks \
    --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