Build the standard library for an unsupported target #3
Open
Description
This is a "use case" issue to try to clarify and discuss a use case, and how it will be addressed.
Building a project for a target that is not available in the Rust distribution can be challenging currently. Some use tools like cargo-xbuild or xargo, or forking rust itself. One of the goals of "std-aware Cargo" is to make this process a little easier.
Many use cases for this are for no_std
environments, and use .json
target specifications to specify the environment.
Cargo already supports .json
targets, and most of the work for supporting #2 should enable this for basic usage.
However, from a higher level this use case has some other issues:
- Building
no_std
binaries often require nightly-only features. (TODO: list which are important). - The
core
library is not always maximally portable. It might be good to explore Standard library portability to figure out what needs there are to make it more portable. - Bringing up
std
on a new platform that does not conform to an existing one can be difficult. This might be another area to explore how to lower the difficulty.