Prepare yourself for a shock then; bootstrapping rustc starts from an already-built version of rustc[1]:
> the only way to build a modern version of rustc is a slightly less modern version.
(There is, at least theoretically, a non-circular bootstrap chain starting with a very old rustc written in OCaml, but the more practical alternative is probably to use mrustc[2] instead.)
Ocaml has a bytecode blob in the sources (even checked into Git). It uses that to resolve its own bootstrap problem. If you aim for a source-only starting point, your journey won't stop at Ocaml.
wolfgang42|1 year ago
> the only way to build a modern version of rustc is a slightly less modern version.
(There is, at least theoretically, a non-circular bootstrap chain starting with a very old rustc written in OCaml, but the more practical alternative is probably to use mrustc[2] instead.)
[1] https://rustc-dev-guide.rust-lang.org/building/bootstrapping...
[2] https://guix.gnu.org/en/blog/2018/bootstrapping-rust/
fweimer|1 year ago
heavensteeth|1 year ago
pabs3|1 year ago
https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-... https://bootstrappable.org/ https://lwn.net/Articles/983340/
fweimer|1 year ago