From: Dirkjan Ochtman Date: Wed, 11 Apr 2018 21:55:01 +0000 (+0200) Subject: Initialize BuildConfig in a single place X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~1^2~78^2~7 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9e5deb8ce32bf8c2bbeeb7b74d603e3bb9e450da;p=cargo.git Initialize BuildConfig in a single place --- diff --git a/src/cargo/ops/cargo_clean.rs b/src/cargo/ops/cargo_clean.rs index 48b61dd09..035999de2 100644 --- a/src/cargo/ops/cargo_clean.rs +++ b/src/cargo/ops/cargo_clean.rs @@ -1,4 +1,3 @@ -use std::default::Default; use std::fs; use std::path::Path; @@ -84,18 +83,14 @@ pub fn clean(ws: &Workspace, opts: &CleanOptions) -> CargoResult<()> { } } + let mut build_config = BuildConfig::new(&opts.config.rustc()?.host, &opts.target); + build_config.release = opts.release; let mut cx = Context::new( ws, &resolve, &packages, opts.config, - BuildConfig { - host_triple: opts.config.rustc()?.host.clone(), - requested_target: opts.target.clone(), - release: opts.release, - jobs: 1, - ..BuildConfig::default() - }, + build_config, profiles, None, &units, diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index 63372b279..83a303b06 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -23,7 +23,6 @@ //! use std::collections::{HashMap, HashSet}; -use std::default::Default; use std::path::{Path, PathBuf}; use std::sync::Arc; @@ -858,12 +857,8 @@ fn scrape_build_config( let jobs = jobs.or(cfg_jobs).unwrap_or(::num_cpus::get() as u32); let cfg_target = config.get_string("build.target")?.map(|s| s.val); let target = target.or(cfg_target); - let mut base = ops::BuildConfig { - host_triple: config.rustc()?.host.clone(), - requested_target: target.clone(), - jobs, - ..Default::default() - }; + let mut base = ops::BuildConfig::new(&config.rustc()?.host, &target); + base.jobs = jobs; base.host = scrape_target_config(config, &base.host_triple)?; base.target = match target.as_ref() { Some(triple) => scrape_target_config(config, triple)?, diff --git a/src/cargo/ops/cargo_rustc/mod.rs b/src/cargo/ops/cargo_rustc/mod.rs index c742f04f9..6e4785982 100644 --- a/src/cargo/ops/cargo_rustc/mod.rs +++ b/src/cargo/ops/cargo_rustc/mod.rs @@ -76,6 +76,17 @@ pub struct BuildConfig { pub json_messages: bool, } +impl BuildConfig { + pub fn new(host_triple: &str, requested_target: &Option) -> BuildConfig { + BuildConfig { + host_triple: host_triple.to_string(), + requested_target: (*requested_target).clone(), + jobs: 1, + ..Default::default() + } + } +} + /// Information required to build for a target #[derive(Clone, Default)] pub struct TargetConfig {