make dist vendoring configurable
Signed-off-by: onur-ozkan <work@onurozkan.dev>
This commit is contained in:
parent
bc486f31a6
commit
741b3164d8
@ -1011,11 +1011,7 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
|
|||||||
write_git_info(builder.rust_info().info(), plain_dst_src);
|
write_git_info(builder.rust_info().info(), plain_dst_src);
|
||||||
write_git_info(builder.cargo_info.info(), &plain_dst_src.join("./src/tools/cargo"));
|
write_git_info(builder.cargo_info.info(), &plain_dst_src.join("./src/tools/cargo"));
|
||||||
|
|
||||||
// If we're building from git or tarball sources, we need to vendor
|
if builder.config.dist_vendor {
|
||||||
// a complete distribution.
|
|
||||||
if builder.rust_info().is_managed_git_subrepository()
|
|
||||||
|| builder.rust_info().is_from_tarball()
|
|
||||||
{
|
|
||||||
builder.require_and_update_all_submodules();
|
builder.require_and_update_all_submodules();
|
||||||
|
|
||||||
// Vendor all Cargo dependencies
|
// Vendor all Cargo dependencies
|
||||||
|
@ -308,6 +308,7 @@ pub struct Config {
|
|||||||
pub dist_compression_formats: Option<Vec<String>>,
|
pub dist_compression_formats: Option<Vec<String>>,
|
||||||
pub dist_compression_profile: String,
|
pub dist_compression_profile: String,
|
||||||
pub dist_include_mingw_linker: bool,
|
pub dist_include_mingw_linker: bool,
|
||||||
|
pub dist_vendor: bool,
|
||||||
|
|
||||||
// libstd features
|
// libstd features
|
||||||
pub backtrace: bool, // support for RUST_BACKTRACE
|
pub backtrace: bool, // support for RUST_BACKTRACE
|
||||||
@ -933,6 +934,7 @@ struct Dist {
|
|||||||
compression_formats: Option<Vec<String>> = "compression-formats",
|
compression_formats: Option<Vec<String>> = "compression-formats",
|
||||||
compression_profile: Option<String> = "compression-profile",
|
compression_profile: Option<String> = "compression-profile",
|
||||||
include_mingw_linker: Option<bool> = "include-mingw-linker",
|
include_mingw_linker: Option<bool> = "include-mingw-linker",
|
||||||
|
vendor: Option<bool> = "vendor",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2028,13 +2030,19 @@ fn get_table(option: &str) -> Result<TomlConfig, toml::de::Error> {
|
|||||||
compression_formats,
|
compression_formats,
|
||||||
compression_profile,
|
compression_profile,
|
||||||
include_mingw_linker,
|
include_mingw_linker,
|
||||||
|
vendor,
|
||||||
} = dist;
|
} = dist;
|
||||||
config.dist_sign_folder = sign_folder.map(PathBuf::from);
|
config.dist_sign_folder = sign_folder.map(PathBuf::from);
|
||||||
config.dist_upload_addr = upload_addr;
|
config.dist_upload_addr = upload_addr;
|
||||||
config.dist_compression_formats = compression_formats;
|
config.dist_compression_formats = compression_formats;
|
||||||
set(&mut config.dist_compression_profile, compression_profile);
|
set(&mut config.dist_compression_profile, compression_profile);
|
||||||
set(&mut config.rust_dist_src, src_tarball);
|
set(&mut config.rust_dist_src, src_tarball);
|
||||||
set(&mut config.dist_include_mingw_linker, include_mingw_linker)
|
set(&mut config.dist_include_mingw_linker, include_mingw_linker);
|
||||||
|
config.dist_vendor = vendor.unwrap_or_else(|| {
|
||||||
|
// If we're building from git or tarball sources, enable it by default.
|
||||||
|
config.rust_info.is_managed_git_subrepository()
|
||||||
|
|| config.rust_info.is_from_tarball()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(r) = rustfmt {
|
if let Some(r) = rustfmt {
|
||||||
|
Loading…
Reference in New Issue
Block a user