diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-03-08 21:26:52 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-08 21:26:52 +0100 |
| commit | 2ebb5b1ddc65fb71c0dd5a0f3dd0dddfe8d4a1b3 (patch) | |
| tree | cb39f5b84f13256a49e0e1c4e866869033a5f3b5 /src/bootstrap | |
| parent | e6e82db307ebe6860025ee4f417a835b72953832 (diff) | |
| parent | ead8b96281334c58fdec64362d9d03b82e85f788 (diff) | |
| download | rust-2ebb5b1ddc65fb71c0dd5a0f3dd0dddfe8d4a1b3.tar.gz rust-2ebb5b1ddc65fb71c0dd5a0f3dd0dddfe8d4a1b3.zip | |
Rollup merge of #108898 - ferrocene:pa-libc-check-cfg, r=Mark-Simulacrum
Set `LIBC_CHECK_CFG=1` when building Rust code in bootstrap Downstream forks of the Rust compiler might want to use a custom `libc` to add support for targets that are not yet available upstream. Adding a patch to replace `libc` with a custom one would cause compilation errors though, because Cargo would interpret the custom `libc` as part of the workspace, and apply the check-cfg lints on it. Since https://github.com/rust-lang/libc/pull/3037, the `libc` build script emits check-cfg flags only when the `LIBC_CHECK_CFG` environment variable is set, so this PR allows the use of custom `libc`s.
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/builder.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 9b5e116aa5c..47d742ef796 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -1721,6 +1721,15 @@ impl<'a> Builder<'a> { cargo.env("RUSTC_VERBOSE", self.verbosity.to_string()); + // Downstream forks of the Rust compiler might want to use a custom libc to add support for + // targets that are not yet available upstream. Adding a patch to replace libc with a + // custom one would cause compilation errors though, because Cargo would interpret the + // custom libc as part of the workspace, and apply the check-cfg lints on it. + // + // The libc build script emits check-cfg flags only when this environment variable is set, + // so this line allows the use of custom libcs. + cargo.env("LIBC_CHECK_CFG", "1"); + if source_type == SourceType::InTree { let mut lint_flags = Vec::new(); // When extending this list, add the new lints to the RUSTFLAGS of the |
