Skip to content

Changes to platform support description #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Nov 5, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions platform-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ whether the corresponding component works on the specified platform.

## Tier 1

Tier 1 platforms can be thought of as "guaranteed to build and work".
Tier 1 platforms can be thought of as "guaranteed to work".
Specifically they will each satisfy the following requirements:

* Official binary releases are provided for the platform.
* Automated testing is set up to run tests for the platform.
* Landing changes to the `rust-lang/rust` repository's master branch is gated on
tests passing.
* Official release artifacts are provided for the platform.
* Documentation for how to use and how to build the platform is available.

| Target | std |rustc|cargo| notes |
Expand All @@ -42,11 +42,11 @@ are not run so it's not guaranteed to produce a working build, but platforms
often work to quite a good degree and patches are always welcome! Specifically,
these platforms are required to have each of the following:

* Official binary releases are provided for the platform.
* Automated building is set up, but may not be running tests.
* Landing changes to the `rust-lang/rust` repository's master branch is gated on
platforms **building**. Note that this means for some platforms only the
standard library is compiled, but for others the full bootstrap is run.
* Official release artifacts are provided for the platform.
platforms **building**. For some platforms only the standard library is
compiled, but for others `rustc` and `cargo` are too.

| Target | std |rustc|cargo| notes |
|---------------------------------|-----|-----|-----|----------------------------|
Expand Down Expand Up @@ -75,12 +75,9 @@ these platforms are required to have each of the following:

## Tier 3

Tier 3 platforms are those which Rust has support for, but landing changes is
not gated on the platform either building or passing tests. Working builds for
these platforms may be spotty as their reliability is often defined in terms of
community contributions. Additionally, release artifacts and installers are not
provided, but there may be community infrastructure producing these in
unofficial locations.
Tier 3 platforms are those which the Rust codebase has support for, but
which are not built or tested automatically, and may not work.
Official builds are not available.

| Target | std |rustc|cargo| notes |
|-------------------------------|-----|-----|-----|----------------------------|
Expand All @@ -95,6 +92,9 @@ unofficial locations.
| `x86_64-unknown-dragonfly` | ✓ | ✓ | | 64-bit DragonFlyBSD |
| `x86_64-unknown-openbsd` | ✓ | ✓ | | 64-bit OpenBSD |

Note that this table can be expanded over time, this isn't the exhaustive set of
tier 3 platforms that will ever be!
But those aren't the only platforms Rust can compile to, those are the ones that
require the standard library. When linking only to the core library, Rust can
target "bare metal" in the x86, ARM, MIPS, and PowerPC families, and thus applied
to a variety of problems. It may require defining custom target specifications
to do so. All such scenarios are tier 3.