I've noticed that when newcomers come to hack on rustc
, one of the first obstacles they hit is the question of "How do I execute the compiler I just built?" Over the years it seems like every rustc dev has crafted their own custom solution to this. I decided to package up my particular solution (a script I've been using since like 2011...) so that other people could reuse it:
It's now packaged up as a rustup toolchain, but the basic idea is that -- once you set it up -- you can do rustc ...
and it will check your current directory, find your current root directory, and execute the rustc that you built. You can select which stage to use via rustc --stage1
or rustc --stage2
and so forth.
I'm curious to get feedback before I publicize this more widely. Does this work for people? Is there some better way to do it that I'm just unaware of?
@eddyb points out that one could simply make a toolchain per rustc clone and let rustup do the multiplexing. This seems fine, though it can’t support --stage1
or --stage2
unless you make two clones. The main reasons I didn’t do that:
- I have a lot of working directories (typically
rust-[123456789]
) and it would be tedious to have a toolchain (or two) for each one.
- It can’t support the other options easily.
- I’ve had this script lying around for years. =)
But I’m definitely game for a more seamless solution. In my ideal world, there’d be no setup at all, rustup would just know that if you are in a clone of Rust, you probably want to execute the Rust you built. (Or perhaps it would have builtin “magic toolchains” like stage1
and stage2
?)
Anyway, I’m open to really any solution, but let’s document some easy setup steps and run with it.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.