[Buildroot] [Patch v4 3/3] rust: new package

Jörg Krause joerg.krause at embedded.rocks
Thu Apr 13 06:05:04 UTC 2017


Hi,

On Mon, 2017-04-10 at 23:43 +0200, Arnout Vandecappelle wrote:
> 
> On 10-04-17 21:02, Jörg Krause wrote:
> > Hi,
> > 
> > On Sat, 2017-04-08 at 12:09 +0200, Eric Le Bihan wrote:
> 
> [snip]
> > > Currently Buildroot only offers downloading binary versions of the C/C++
> > > cross-compilers. It does not take into account alternative C/C++
> > > cross-compilers like LLVM/Clang or compilers for new languages like
> > > Rust, D, or Haskell (though I do not know if Haskell is useful on
> > > embedded systems).
> 
>  There's a huge difference between alternative C/C++ compilers and compilers for
> other languages.
> 
>  Compilers for other languages we already have: python, mono, erlang. These are
> just normal packages, and any package in that language depends on the host-xxx
> package to provide the compiler. Similar to how packages that use the cmake
> buildsystem depend on the host-cmake package.
> 
>  Alternative C/C++ compilers are something else entirely, because they replace
> the special 'toolchain' target.
> 
>  Only when you can build an entire system with only the Rust compiler and
> without C/C++ compiler you can consider them equivalent. That day is still far away.

I see!

> > For now, we could use the host rustc package to fetch the latest stable
> > binary for the host architecture. Additionally, we could add the option
> > to build the Rust compiler within Buildroot. In my opinion, this option
> > only makes sense if the compiler can be configured meaningfully.
> 
>  I agree.

Cool.

@Eric: Do you mind to do that? By default fetch the latest stable
release, and alternatively offer an option to build a "Custom Rust
package". I think it would also be helpful to have at least one Rust
package to add as a proof of concept.

> 
> > > So, would it help to have a "Programming Languages" section in
> > > menuconfig where you can select Rust (or any other language) and choose
> > > between a using a pre-built compiler or build it from source?
> > 
> > In my opinion it would make more sense to have a menu "Toolchains" with
> > the submenus "C/C++ Toolchain", "Rust Toolchain", ...
> 
>  Given what I wrote above, I disagree. For the time being it's fine in the host
> packages menu. If that menu becomes too large, we could add something like an
> 'Alternative programming languages' menu.
> 

Sounds reasonable.

> 
> > > And where shoud LLVM/clang be exposed?
> > 
> > I would put it into "C/C++ Toolchain" (if we had such a menu).
> 
>  That's slightly more complicated. LLVM is just a library so it's just in the
> host menu. clang is a compiler that can be a replacement for gcc, so it'd have
> to go into the toolchain menu.
> 
>  Actually, Romain is working on LLVM/Clang. He's going to start adding it as a
> normal host package, so not as a replacement of gcc as the toolchain.

Nice!

Jörg


More information about the buildroot mailing list