about summary refs log tree commit diff
path: root/compiler/rustc_serialize/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-05-01 20:20:43 +0000
committerbors <bors@rust-lang.org>2024-05-01 20:20:43 +0000
commitc987ad527540e8f1565f57c31204bde33f63df76 (patch)
treefd12aa6af5a4f26bab39c10d48c968e63b0096b0 /compiler/rustc_serialize/src
parentbe9bca2daf929c4472abd8fbbb94b00f82481f07 (diff)
parent7e4955e5027f5cc333884690070e57cbb2618378 (diff)
downloadrust-c987ad527540e8f1565f57c31204bde33f63df76.tar.gz
rust-c987ad527540e8f1565f57c31204bde33f63df76.zip
Auto merge of #121564 - ojeda:rustc-jobserver, r=ehuss
rustc: document the jobserver

Explicitly document that the jobserver may be used by `rustc`, as well as recommend the `+` indicator for integration of `rustc` into GNU Make.

In particular, show the warning to increase the chances that this document is found when searching for solutions online.

In addition, add a note about the issue with GNU Make 4.3 since it is important that users realize they should do this even if they do not expect parallelism from `rustc`.

Finally, show how to workaround the issue of `$(shell ...)` calls in recursive Make (which e.g. was needed for the Linux kernel).

The GNU Make 4.4 case under `--jobserver-style=pipe` is not added since it got fixed after Rust 1.76.0 already (i.e. `rustc` will not warn if it finds the negative file descriptors).

From: https://github.com/rust-lang/rust/issues/120515
Cc: `@petrochenkov` `@belovdv` `@weihanglo` `@bjorn3`

---

v2: To be able to use tab characters for the Make examples, add `<!-- ignore-tidy-{check} -->` support to `tidy`.
v3: Added "Integration with build systems" section to hold the GNU Make one. Added "by clearing the `MAKEFLAGS` variable". Added "aforementioned" so that it is clear we are talking about the warning above.
v4: Added CMake subsection. Added a note that `rustc` may be affected by other flags, e.g. `CARGO_MAKEFLAGS`.
v5: Added that `rustc` will choose the number of jobs if a jobserver is not passed.
Diffstat (limited to 'compiler/rustc_serialize/src')
0 files changed, 0 insertions, 0 deletions