[Buildroot] Adding support for the Rust programming language
Eric Le Bihan
eric.le.bihan.dev at free.fr
Mon Apr 11 19:03:58 UTC 2016
On Sun, 10 Apr 2016 17:57:45 +0200,
Arnout Vandecappelle <arnout at mind.be> wrote :
> > 1. Would it be acceptable to provide a script to generate these
> > files from the Buildroot configuration file?
>
> Obviously yes, we already do that kind of thing for some packages
> (e.g. cmake).
So, assuming the script is to be named `rust-target-gen`, it should be
stored in support/scripts, right?
> > 2. Would Python be a suitable language for this script? It is better
> > suited for playing with complex structures and JSON than pure
> > shell.
>
> We try to avoid requiring python for a normal build, and use it
> only for specific scripts at the moment (like graph-depends). So I
> think the answer is no here. Anyway, as far as I can see from [3],
> you don't really need a full json generator, it should be enough to
> do some sed magic on a template file.
Correct. The target specification file is not a complex JSON file.
So I'll go for a Bash shell script (compatible with Bash 3.2, i.e. no
use of associative arrays).
Anyway, there will be a need for building host-python, in order to
build Cargo, the official Rust package manager, as stated in [1].
> When you submit patches, it's probably a good idea to start with a
> minimal patch that e.g. gives rust a hard dependency on little-endian
> ARM v6, and add more features in subsequent patches. I expect it will
> be something difficult to review.
This looks sensible. I intend to provide the following patches:
- one to add the package "host-rust" (compiler)
- one to add the package "host-cargo" (package manager)
- one to add "package/pkg-cargo.mk" (Rust package infrastructure)
Thanks for your suggestions.
[1] http://www.elebihan.com/posts/using-cargo-with-buildroot-full-build.html
--
ELB
More information about the buildroot
mailing list