about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
diff options
context:
space:
mode:
authorJoshua Nelson <jyn514@gmail.com>2020-10-04 10:44:03 -0400
committerJoshua Nelson <joshua@yottadb.com>2020-10-04 11:59:58 -0400
commitaeb412f6a432d3688d8de76341559765148c0982 (patch)
tree8dbe9d7c47caa94625e55efc4af955726d8ff699 /src/doc/rustc-dev-guide
parentd66cdb10f4877ead04e4e102e36a638d69b423eb (diff)
downloadrust-aeb412f6a432d3688d8de76341559765148c0982.tar.gz
rust-aeb412f6a432d3688d8de76341559765148c0982.zip
Document `Assemble`
Diffstat (limited to 'src/doc/rustc-dev-guide')
-rw-r--r--src/doc/rustc-dev-guide/src/building/bootstrapping.md23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/doc/rustc-dev-guide/src/building/bootstrapping.md b/src/doc/rustc-dev-guide/src/building/bootstrapping.md
index 24f86d940b7..2da4d2e467e 100644
--- a/src/doc/rustc-dev-guide/src/building/bootstrapping.md
+++ b/src/doc/rustc-dev-guide/src/building/bootstrapping.md
@@ -146,6 +146,20 @@ Build artifacts include, but are not limited to:
 
 [rlib]: ../serialization.md
 
+#### Assembling the compiler
+
+There is a separate step between building the compiler and making it possible
+to run. This step is called _assembling_ or _uplifting_ the compiler. It copies
+all the necessary build artifacts from `build/stageN-sysroot` to
+`build/stage(N+1)`, which allows you to use `build/stage(N+1)` as a [toolchain]
+with `rustup toolchain link`.
+
+There is [no way to trigger this step on its own][#73519], but `x.py` will
+perform it automatically any time you build with stage N+1.
+
+[toolchain]: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#creating-a-rustup-toolchain
+[#73519]: https://github.com/rust-lang/rust/issues/73519
+
 #### Examples
 
 - `x.py build --stage 0` means to build with the beta `rustc`.
@@ -166,12 +180,11 @@ Build artifacts include, but are not limited to:
 - `x.py test --stage 0 compiler/rustc` builds the compiler but runs no tests:
   it's running `cargo test -p rustc`, but cargo doesn't understand Rust's
   tests. You shouldn't need to use this, use `test` instead (without arguments).
-- `x.py build --stage 0 compiler/rustc` builds the compiler, but does not make
-  it usable: the build artifacts are not assembled into the final compiler
-  ([#73519]). Use `x.py build library/std` instead, which puts the compiler in
-  `stage1/rustc`.
+- `x.py build --stage 0 compiler/rustc` builds the compiler, but does
+  not [assemble] it. Use `x.py build library/std` instead, which puts the
+  compiler in `stage1/rustc`.
 
-[#73519]: https://github.com/rust-lang/rust/issues/73519
+[assemble]: #assembling-the-compiler
 
 ### Building vs. Running