Skip to content

bootstrap should be able to fully rely on RUSTC_WRAPPER #128383

Open
@RalfJung

Description

@RalfJung
Member

With rust-lang/cargo#13659, cargo now respects RUSTC_WRAPPER for all rustc invocations. So bootstrap should be able to set RUSTC to a non-existing binary and rely on RUSTC_WRAPPER for everything, which could simplift some logic.

See #127682 for what that could look like. However, this is currently blocked on rust-lang/libc#3772, and there are likely other components that also still use RUSTC (e.g. Miri and/or clippy might rely on it when running in x.py).

Activity

added
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Jul 30, 2024
added
C-cleanupCategory: PRs that clean code up or issues documenting cleanup.
T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
and removed
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Jul 31, 2024
RalfJung

RalfJung commented on Oct 19, 2024

@RalfJung
MemberAuthor

See #127682 for my latest attempt, that I just gave up on. The rabbit hole goes deep as all sorts of places assume there is a rustc binary they can directly invoke, rather than going through a wrapper. I stopped when I realized compiletest also makes that assumption.

This makes me wonder if it wouldn't be easier to make bootstrap/bin/rustc just always be RUSTC and never the wrapper. Why is it used as a wrapper in the first place?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-cleanupCategory: PRs that clean code up or issues documenting cleanup.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @RalfJung@jieyouxu@rustbot

      Issue actions

        bootstrap should be able to fully rely on RUSTC_WRAPPER · Issue #128383 · rust-lang/rust