-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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 and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile core crates before std #51440
Conversation
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than one nit I think this looks good (presuming it works).
src/bootstrap/compile.rs
Outdated
|
||
let _folder = builder.fold_output(|| format!("stage{}-std", compiler.stage)); | ||
builder.info(&format!("Building stage{} std artifacts ({} -> {})", compiler.stage, | ||
&compiler.host, target)); | ||
run_cargo(builder, | ||
&mut cargo, | ||
&mut core_cargo_invoc, | ||
&libstd_stamp(builder, compiler, target), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it'd be best to have a dedicated stamp file for core.
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
So... it seems to fail building rustdoc. Lemme try finding a fix. |
We need to add |
@bors r+ If you don't want to do it yourself, could you open an issue about deleting the libc shim? I think it should no longer be necessary. |
📌 Commit c9c42db has been approved by |
🔒 Merge conflict |
c9c42db
to
5499013
Compare
Add CoreLink to Std::run()
5499013
to
046a95d
Compare
rebased. re-r? @Mark-Simulacrum |
@bors r+ |
📌 Commit 046a95d has been approved by |
⌛ Testing commit 046a95d with merge c40895d133ef007bdca9238fa14128c3f64242c7... |
2d64d7d
to
57ca376
Compare
travis was green when I enabled the wasm runner. re-r? @Mark-Simulacrum |
@bors r+ |
📌 Commit 57ca376 has been approved by |
⌛ Testing commit 57ca376 with merge bd6aaf62d4f7b45ddc37fde1e63b49acb918e2b2... |
💔 Test failed - status-appveyor |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Ping from triage @est31! It's been a while since we heard from you on this, will you have time to work on this again? |
I'm waiting on #49219 |
@bors r- Wrongly requeued |
☔ The latest upstream changes (presumably #52014) made this pull request unmergeable. Please resolve the merge conflicts. |
The period of my contributions to Rust upstream has reached an end. Thus I'm unable to continue my work on this. I still think something like this is a great addition. I urge anyone interested in this change to adopt and continue it from here on. Thanks. |
Right now, many crates used by
std
need to manually specify dependencies onto crates likecore
, as they need to be built after core has been built. For some crates from external sources, we provide our own Cargo.toml files so that we can write out that dependency (and other, rustbuild specific things).This PR splits up the std compilation step in rustbuild into two semi-steps. One which compiles three
#![no_std]
crateslibcore
,compiler_builtins
, andlibstd_unicode
, and a second step which compiles the remainder.Thanks to this, it alleviates the need to specify dependencies onto those crates, and allows libstd to depend on
#![no_std]
crates from crates.io without modification.Needed by #51408
r? @Mark-Simulacrum