bootstrap: Allow building individual crates by jyn514 · Pull Request #95503 · rust-lang/rust (original) (raw)

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation43 Commits3 Checks0 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

jyn514

This aims to be as unintrusive as possible, but did still require adding a new tail_args field to all Rustc and Std steps.

New library and compiler crates are added to the sysroot as they are built, since it's useful to have e.g. just alloc and not std.

Fixes #44293.

@rust-highfive

r? @Mark-Simulacrum

(rust-highfive has picked a reviewer for you, use r? to override)

@jyn514

@rustbot label -S-waiting-on-review +S-block

@jyn514

@rustbot label: -S-waiting-on-review +S-blocked

@rustbot rustbot added S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Mar 30, 2022

jyn514

@jyn514 jyn514 marked this pull request as draft

March 30, 2022 22:43

jyn514 added a commit to jyn514/rust that referenced this pull request

Mar 30, 2022

@jyn514

While working on rust-lang#95503, I realized that this will interfere with existing command lines: Currently people run x build library/std expecting it to be added to the sysroot, but after that change, it will only build libstd without making it available for the toolchain.

It's debatable whether that's a breaking change that will be accepted; if so, this PR is absolutely necessary to make sure there's a command for "build the standard library and add it to the sysroot". Even if not, though, I think x build library is more clear about what actually happens than the current x build library/std.

For consistency, also add support for compiler and all other command variants. Note that doc compiler was already supported, so in a sense this is just fixing an existing inconsistency.

I plan to change the dev-guide and various instructions in the README to build library once this is merged.

@rust-log-analyzer

This comment has been minimized.

@bors

@jyn514

@rustbot label -S-blocked +S-waiting-on-author

@rustbot rustbot added S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

and removed S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

labels

Apr 10, 2022

@jyn514 jyn514 changed the title[blocked] Allow building individual crates bootstrap: Allow building individual crates

Apr 11, 2022

@jyn514 jyn514 marked this pull request as ready for review

April 11, 2022 00:07

@jyn514

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

and removed S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

labels

Apr 11, 2022

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@jyn514 jyn514 added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

and removed S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

labels

Jul 1, 2022

jyn514

Mark-Simulacrum

@jyn514

This makes it much simpler to add new interned types, rather than having to add 4+ impl blocks for each type.

@jyn514

@jyn514 jyn514 added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

and removed S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

labels

Jul 3, 2022

@Mark-Simulacrum

@bors

📌 Commit d0011b0 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Jul 3, 2022

bors added a commit to rust-lang-ci/rust that referenced this pull request

Jul 5, 2022

@bors

…laumeGomez

Rollup of 6 pull requests

Successful merges:

Failed merges:

r? @ghost @rustbot modify labels: rollup

krasimirgg added a commit to krasimirgg/rust that referenced this pull request

Jul 7, 2022

@krasimirgg

…r=Mark-Simulacrum"

This reverts commit 0a7f2c3, reversing changes made to 41ad4d9.

jyn514 added a commit to jyn514/rustc-dev-guide that referenced this pull request

Jul 11, 2022

@jyn514

Since rust-lang/rust#95503, library/std means "build just std and its dependencies"; to get the old behavior that built proc_macro and test, you need x build library.

tshepang pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request

Jul 11, 2022

@jyn514 @tshepang

Since rust-lang/rust#95503, library/std means "build just std and its dependencies"; to get the old behavior that built proc_macro and test, you need x build library.

@jyn514 jyn514 deleted the build-single-crate branch

February 25, 2023 18:32

Kobzol pushed a commit to Kobzol/rust that referenced this pull request

Dec 30, 2024

@jyn514 @tshepang

Since rust-lang#95503, library/std means "build just std and its dependencies"; to get the old behavior that built proc_macro and test, you need x build library.

bors pushed a commit to rust-lang-ci/rust that referenced this pull request

Jan 2, 2025

@jyn514 @tshepang

Since rust-lang#95503, library/std means "build just std and its dependencies"; to get the old behavior that built proc_macro and test, you need x build library.

Kobzol pushed a commit to Kobzol/rustc-dev-guide that referenced this pull request

Jan 3, 2025

@jyn514 @tshepang

Since rust-lang/rust#95503, library/std means "build just std and its dependencies"; to get the old behavior that built proc_macro and test, you need x build library.

Labels

S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

T-bootstrap

Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

T-infra

Relevant to the infrastructure team, which will review and decide on the PR/issue.