@@ -61,21 +61,90 @@ binary downloads][install-page].
6161
6262## Platform support
6363
64- Oh, we should also mention the officially supported platforms:
65-
66- * Windows (7 or later, Server 2008 R2)
67- * Linux (2.6.18 or later, various distributions), x86 and x86-64
68- * OSX 10.7 (Lion) or later, x86 and x86-64
69-
70- We extensively test Rust on these platforms, and a few others, too, like
71- Android. But these are the ones most likely to work, as they have the most
72- testing.
73-
74- Finally, a comment about Windows. Rust considers Windows to be a first-class
75- platform upon release, but if we're honest, the Windows experience isn't as
76- integrated as the Linux/OS X experience is. We're working on it! If anything
77- doesn't work, it is a bug. Please let us know if that happens. Each and every
78- commit is tested against Windows just like any other platform.
64+ The Rust compiler runs on, and compiles to, a great number of platforms, though
65+ not all platforms are equally supported. Rust's support levels are organized
66+ into three tiers, each with a different set of guarantees.
67+
68+ Platforms are identified by their "target triple" which is the string to inform
69+ the compiler what kind of output should be produced. The columns below indicate
70+ whether the corresponding component works on the specified platform.
71+
72+ ### Tier 1
73+
74+ Tier 1 platforms can be thought of as "guaranteed to build and work".
75+ Specifically they will each satisfy the following requirements:
76+
77+ * Automated testing is set up to run tests for the platform.
78+ * Landing changes to the ` rust-lang/rust ` repository's master branch is gated on
79+ tests passing.
80+ * Official release artifacts are provided for the platform.
81+ * Documentation for how to use and how to build the platform is available.
82+
83+ | Target | std | rustc| cargo| notes |
84+ | -------------------------------| -----| -----| -----| ----------------------------|
85+ | ` x86_64-pc-windows-msvc ` | ✓ | ✓ | ✓ | 64-bit MSVC (Windows 7+) |
86+ | ` i686-pc-windows-gnu ` | ✓ | ✓ | ✓ | 32-bit MinGW (Windows 7+) |
87+ | ` x86_64-pc-windows-gnu ` | ✓ | ✓ | ✓ | 64-bit MinGW (Windows 7+) |
88+ | ` i686-apple-darwin ` | ✓ | ✓ | ✓ | 32-bit OSX (10.7+, Lion+) |
89+ | ` x86_64-apple-darwin ` | ✓ | ✓ | ✓ | 64-bit OSX (10.7+, Lion+) |
90+ | ` i686-unknown-linux-gnu ` | ✓ | ✓ | ✓ | 32-bit Linux (2.6.18+) |
91+ | ` x86_64-unknown-linux-gnu ` | ✓ | ✓ | ✓ | 64-bit Linux (2.6.18+) |
92+
93+ ### Tier 2
94+
95+ Tier 2 platforms can be thought of as "guaranteed to build". Automated tests are
96+ not run so it's not guaranteed to produce a working build, but platforms often
97+ work to quite a good degree and patches are always welcome! Specifically, these
98+ platforms are required to have each of the following:
99+
100+ * Automated building is set up, but may not be running tests.
101+ * Landing changes to the ` rust-lang/rust ` repository's master branch is gated on
102+ platforms ** building** . Note that this means for some platforms just the
103+ standard library is compiled, but for others the full bootstrap is run.
104+ * Official release artifacts are provided for the platform.
105+
106+ | Target | std | rustc| cargo| notes |
107+ | -------------------------------| -----| -----| -----| ----------------------------|
108+ | ` i686-pc-windows-msvc ` | ✓ | ✓ | ✓ | 32-bit MSVC (Windows 7+) |
109+
110+ ### Tier 3
111+
112+ Tier 3 platforms are those which Rust has support for, but landing changes is
113+ not gated on the platform either building or passing tests. Working builds for
114+ these platforms may be spotty as their reliability is often defined in terms of
115+ community contributions. Additionally, release artifacts and installers are not
116+ provided, but there may be community infrastructure producing these in
117+ unofficial locations.
118+
119+ | Target | std | rustc| cargo| notes |
120+ | -------------------------------| -----| -----| -----| ----------------------------|
121+ | ` x86_64-unknown-linux-musl ` | ✓ | | | 64-bit Linux with MUSL |
122+ | ` arm-linux-androideabi ` | ✓ | | | ARM Android |
123+ | ` i686-linux-android ` | ✓ | | | 32-bit x86 Android |
124+ | ` aarch64-linux-android ` | ✓ | | | ARM64 Android |
125+ | ` arm-unknown-linux-gnueabi ` | ✓ | ✓ | | ARM Linux (2.6.18+) |
126+ | ` arm-unknown-linux-gnueabihf ` | ✓ | ✓ | | ARM Linux (2.6.18+) |
127+ | ` aarch64-unknown-linux-gnu ` | ✓ | | | ARM64 Linux (2.6.18+) |
128+ | ` mips-unknown-linux-gnu ` | ✓ | | | MIPS Linux (2.6.18+) |
129+ | ` mipsel-unknown-linux-gnu ` | ✓ | | | MIPS (LE) Linux (2.6.18+) |
130+ | ` powerpc-unknown-linux-gnu ` | ✓ | | | PowerPC Linux (2.6.18+) |
131+ | ` i386-apple-ios ` | ✓ | | | 32-bit x86 iOS |
132+ | ` x86_64-apple-ios ` | ✓ | | | 64-bit x86 iOS |
133+ | ` armv7-apple-ios ` | ✓ | | | ARM iOS |
134+ | ` armv7s-apple-ios ` | ✓ | | | ARM iOS |
135+ | ` aarch64-apple-ios ` | ✓ | | | ARM64 iOS |
136+ | ` i686-unknown-freebsd ` | ✓ | ✓ | | 32-bit FreeBSD |
137+ | ` x86_64-unknown-freebsd ` | ✓ | ✓ | | 64-bit FreeBSD |
138+ | ` x86_64-unknown-openbsd ` | ✓ | ✓ | | 64-bit OpenBSD |
139+ | ` x86_64-unknown-netbsd ` | ✓ | ✓ | | 64-bit NetBSD |
140+ | ` x86_64-unknown-bitrig ` | ✓ | ✓ | | 64-bit Bitrig |
141+ | ` x86_64-unknown-dragonfly ` | ✓ | ✓ | | 64-bit DragonFlyBSD |
142+ | ` x86_64-rumprun-netbsd ` | ✓ | | | 64-bit NetBSD Rump Kernel |
143+ | ` i686-pc-windows-msvc ` (XP) | ✓ | | | Windows XP support |
144+ | ` x86_64-pc-windows-msvc ` (XP) | ✓ | | | Windows XP support |
145+
146+ Note that this table can be expanded over time, this isn't the exhaustive set of
147+ tier 3 platforms that will ever be!
79148
80149## After installation
81150
0 commit comments