diff options
| author | bors <bors@rust-lang.org> | 2023-01-03 08:05:54 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-01-03 08:05:54 +0000 |
| commit | 3b1c8a94a4e8a6ba8bc7b39cc3580db9e5b72295 (patch) | |
| tree | b51b01e9d18e786cf1f1a4379356cf593291f56f /compiler | |
| parent | 442f997f98ac9f16f60ba3a7109f884dbf8d370c (diff) | |
| parent | 8c000a68c5988f6e04c74180d4c0107a996110db (diff) | |
| download | rust-3b1c8a94a4e8a6ba8bc7b39cc3580db9e5b72295.tar.gz rust-3b1c8a94a4e8a6ba8bc7b39cc3580db9e5b72295.zip | |
Auto merge of #105609 - bjorn3:shrink_rustc_dev, r=jyn514
Only include metadata for non-dynamic libraries in rustc-dev The actual object code should be linked from librustc_driver.so, which is still included in rustc-dev. This saves on download time and disk usage. Fixes https://github.com/rust-lang/rust/issues/103538
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_error_messages/locales/en-US/metadata.ftl | 5 | ||||
| -rw-r--r-- | compiler/rustc_metadata/src/dependency_format.rs | 9 | ||||
| -rw-r--r-- | compiler/rustc_metadata/src/errors.rs | 8 |
3 files changed, 20 insertions, 2 deletions
diff --git a/compiler/rustc_error_messages/locales/en-US/metadata.ftl b/compiler/rustc_error_messages/locales/en-US/metadata.ftl index b42b228bde9..79b8b417257 100644 --- a/compiler/rustc_error_messages/locales/en-US/metadata.ftl +++ b/compiler/rustc_error_messages/locales/en-US/metadata.ftl @@ -4,6 +4,11 @@ metadata_rlib_required = metadata_lib_required = crate `{$crate_name}` required to be available in {$kind} format, but was not found in this form +metadata_rustc_lib_required = + crate `{$crate_name}` required to be available in {$kind} format, but was not found in this form + .note = only .rmeta files are distributed for `rustc_private` crates other than `rustc_driver` + .help = try adding `extern crate rustc_driver;` at the top level of this crate + metadata_crate_dep_multiple = cannot satisfy dependencies so `{$crate_name}` only shows up once .help = having upstream crates all available in one format will likely make this go away diff --git a/compiler/rustc_metadata/src/dependency_format.rs b/compiler/rustc_metadata/src/dependency_format.rs index 6112ec9e4e9..cee4ba56a9d 100644 --- a/compiler/rustc_metadata/src/dependency_format.rs +++ b/compiler/rustc_metadata/src/dependency_format.rs @@ -54,7 +54,7 @@ use crate::creader::CStore; use crate::errors::{ BadPanicStrategy, CrateDepMultiple, IncompatiblePanicInDropStrategy, LibRequired, - RequiredPanicStrategy, RlibRequired, TwoPanicRuntimes, + RequiredPanicStrategy, RlibRequired, RustcLibRequired, TwoPanicRuntimes, }; use rustc_data_structures::fx::FxHashMap; @@ -224,7 +224,12 @@ fn calculate_type(tcx: TyCtxt<'_>, ty: CrateType) -> DependencyList { Linkage::Static => "rlib", _ => "dylib", }; - sess.emit_err(LibRequired { crate_name: tcx.crate_name(cnum), kind: kind }); + let crate_name = tcx.crate_name(cnum); + if crate_name.as_str().starts_with("rustc_") { + sess.emit_err(RustcLibRequired { crate_name, kind }); + } else { + sess.emit_err(LibRequired { crate_name, kind }); + } } } } diff --git a/compiler/rustc_metadata/src/errors.rs b/compiler/rustc_metadata/src/errors.rs index 1e08e95c01f..02c03114eb6 100644 --- a/compiler/rustc_metadata/src/errors.rs +++ b/compiler/rustc_metadata/src/errors.rs @@ -25,6 +25,14 @@ pub struct LibRequired<'a> { } #[derive(Diagnostic)] +#[diag(metadata_rustc_lib_required)] +#[help] +pub struct RustcLibRequired<'a> { + pub crate_name: Symbol, + pub kind: &'a str, +} + +#[derive(Diagnostic)] #[diag(metadata_crate_dep_multiple)] #[help] pub struct CrateDepMultiple { |
