@@ -61,21 +61,90 @@ binary downloads][install-page].
61
61
62
62
## Platform support
63
63
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!
79
148
80
149
## After installation
81
150
0 commit comments