diff options
| author | Shahar Dawn Or <mightyiampresence@gmail.com> | 2023-01-13 19:24:58 +0700 |
|---|---|---|
| committer | Tshepang Mbambo <tshepang@gmail.com> | 2023-03-23 15:36:00 +0200 |
| commit | 52dd6d812a077624d20faed8ba7674c52f8a375e (patch) | |
| tree | 99d6f36f12d3b39a6405c736c055ce27f0f185ee /src/doc | |
| parent | 96c90f8dbabc36678308310b674d5e4b5c5396dc (diff) | |
| download | rust-52dd6d812a077624d20faed8ba7674c52f8a375e.tar.gz rust-52dd6d812a077624d20faed8ba7674c52f8a375e.zip | |
bootsrapping stages overview list
Diffstat (limited to 'src/doc')
| -rw-r--r-- | src/doc/rustc-dev-guide/src/building/bootstrapping.md | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/doc/rustc-dev-guide/src/building/bootstrapping.md b/src/doc/rustc-dev-guide/src/building/bootstrapping.md index fe34cb5003a..bac445ad257 100644 --- a/src/doc/rustc-dev-guide/src/building/bootstrapping.md +++ b/src/doc/rustc-dev-guide/src/building/bootstrapping.md @@ -22,6 +22,13 @@ Note that this documentation mostly covers user-facing information. See ## Stages of bootstrapping +### Overview + +- Stage 0: the pre-compiled compiler +- Stage 1: from current code, by an earlier compiler +- Stage 2: the truly current compiler +- Stage 3: the same-result test + Compiling `rustc` is done in stages. Here's a diagram, adapted from Joshua Nelson's [talk on bootstrapping][rustconf22-talk] at RustConf 2022, with detailed explanations below. @@ -51,7 +58,7 @@ graph TD classDef with-s1c fill: lightgreen; ``` -### Stage 0 +### Stage 0: the pre-compiled compiler The stage0 compiler is usually the current _beta_ `rustc` compiler and its associated dynamic libraries, @@ -65,11 +72,11 @@ a compiler (with its set of dependencies) and its 'target' or 'object' libraries (`std` and `rustc`). Both are staged, but in a staggered manner. -### Stage 1 +### Stage 1: from current code, by an earlier compiler The rustc source code is then compiled with the stage0 compiler to produce the stage1 compiler. -### Stage 2 +### Stage 2: the truly current compiler We then rebuild our stage1 compiler with itself to produce the stage2 compiler. @@ -92,7 +99,7 @@ For development, you usually only want the `stage1` compiler, which you can build with `./x.py build library`. See [Building the compiler](./how-to-build-and-run.html#building-the-compiler). -### Stage 3 +### Stage 3: the same-result test Stage 3 is optional. To sanity check our new compiler, we can build the libraries with the stage2 compiler. The result ought |
