From d4667499fc4d64cf1a06aaa437ef186d96363671 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 4 Nov 2016 23:37:06 -0700 Subject: [PATCH 1/6] Clarify what's built for tier 2 platforms --- platform-support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform-support.md b/platform-support.md index bf8a4db3a..584c25bb6 100644 --- a/platform-support.md +++ b/platform-support.md @@ -44,8 +44,8 @@ these platforms are required to have each of the following: * 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. + platforms **building**. For some platforms only the standard library is + compiled, but for others `rustc` and `cargo` are too. * Official release artifacts are provided for the platform. | Target | std |rustc|cargo| notes | From 3e65046f52f92fe44c7b58e0424041c6d144a2f6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 4 Nov 2016 23:45:51 -0700 Subject: [PATCH 2/6] Simplify tier 1 description --- platform-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-support.md b/platform-support.md index 584c25bb6..c1f85380b 100644 --- a/platform-support.md +++ b/platform-support.md @@ -15,7 +15,7 @@ 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: * Automated testing is set up to run tests for the platform. From b08b247cdb58bfe35e11931d8aaf1d443d94f636 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 4 Nov 2016 23:57:26 -0700 Subject: [PATCH 3/6] Put key info first in platform support --- platform-support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform-support.md b/platform-support.md index c1f85380b..983bba7b9 100644 --- a/platform-support.md +++ b/platform-support.md @@ -18,10 +18,10 @@ whether the corresponding component works on the specified platform. 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 | @@ -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**. For some platforms only the standard library is compiled, but for others `rustc` and `cargo` are too. -* Official release artifacts are provided for the platform. | Target | std |rustc|cargo| notes | |---------------------------------|-----|-----|-----|----------------------------| From 32199155613d07823a23b90246d2d035aeb690b8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 5 Nov 2016 00:22:10 -0700 Subject: [PATCH 4/6] Simplify tier 3 description --- platform-support.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/platform-support.md b/platform-support.md index 983bba7b9..799d6d9bb 100644 --- a/platform-support.md +++ b/platform-support.md @@ -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 | |-------------------------------|-----|-----|-----|----------------------------| From f9b38f494b51b91423aff574b7411cf0c83549d0 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 5 Nov 2016 00:23:22 -0700 Subject: [PATCH 5/6] Remove a bit of apology to make room --- platform-support.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/platform-support.md b/platform-support.md index 799d6d9bb..36a6e049e 100644 --- a/platform-support.md +++ b/platform-support.md @@ -92,6 +92,4 @@ Official builds are not available. | `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! From dc55425f0f23e465b2c7234163edd9643f191445 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 5 Nov 2016 00:23:52 -0700 Subject: [PATCH 6/6] Put no_std targets in tier 3 --- platform-support.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform-support.md b/platform-support.md index 36a6e049e..900f7a7aa 100644 --- a/platform-support.md +++ b/platform-support.md @@ -92,4 +92,9 @@ Official builds are not available. | `x86_64-unknown-dragonfly` | ✓ | ✓ | | 64-bit DragonFlyBSD | | `x86_64-unknown-openbsd` | ✓ | ✓ | | 64-bit OpenBSD | +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.