From: Dirkjan Ochtman Date: Thu, 3 May 2018 08:08:16 +0000 (+0200) Subject: Initialize Compilation fields directly from BuildContext X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~1^2~10^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=253aa373916ee6e92d62161cd6f06128eabfbec3;p=cargo.git Initialize Compilation fields directly from BuildContext --- diff --git a/src/cargo/core/compiler/compilation.rs b/src/cargo/core/compiler/compilation.rs index ece186c9d..6137b94eb 100644 --- a/src/cargo/core/compiler/compilation.rs +++ b/src/cargo/core/compiler/compilation.rs @@ -7,6 +7,7 @@ use lazycell::LazyCell; use core::{Package, PackageId, Target, TargetKind}; use util::{self, join_paths, process, CargoResult, Config, ProcessBuilder}; +use super::BuildContext; /// A structure returning the result of a compilation. pub struct Compilation<'cfg> { @@ -67,25 +68,25 @@ pub struct Compilation<'cfg> { } impl<'cfg> Compilation<'cfg> { - pub fn new(config: &'cfg Config, rustc_process: ProcessBuilder) -> Compilation<'cfg> { + pub fn new<'a>(bcx: &BuildContext<'a, 'cfg>) -> Compilation<'cfg> { Compilation { libraries: HashMap::new(), native_dirs: BTreeSet::new(), // TODO: deprecated, remove root_output: PathBuf::from("/"), deps_output: PathBuf::from("/"), host_deps_output: PathBuf::from("/"), - host_dylib_path: None, - target_dylib_path: None, + host_dylib_path: bcx.host_info.sysroot_libdir.clone(), + target_dylib_path: bcx.target_info.sysroot_libdir.clone(), tests: Vec::new(), binaries: Vec::new(), extra_env: HashMap::new(), to_doc_test: Vec::new(), cfgs: HashMap::new(), rustdocflags: HashMap::new(), - config, - rustc_process, - host: String::new(), - target: String::new(), + config: bcx.config, + rustc_process: bcx.build_config.rustc.process(), + host: bcx.build_config.host_triple().to_string(), + target: bcx.build_config.target_triple().to_string(), target_runner: LazyCell::new(), } } diff --git a/src/cargo/core/compiler/context/mod.rs b/src/cargo/core/compiler/context/mod.rs index c106a0468..907ccdf06 100644 --- a/src/cargo/core/compiler/context/mod.rs +++ b/src/cargo/core/compiler/context/mod.rs @@ -94,12 +94,9 @@ impl<'a, 'cfg> Context<'a, 'cfg> { .chain_err(|| "failed to create jobserver")?, }; - let mut compilation = Compilation::new(config, bcx.build_config.rustc.process()); - compilation.host_dylib_path = bcx.host_info.sysroot_libdir.clone(); - compilation.target_dylib_path = bcx.target_info.sysroot_libdir.clone(); Ok(Self { bcx, - compilation, + compilation: Compilation::new(bcx), build_state: Arc::new(BuildState::new( &bcx.build_config.host, &bcx.build_config.target, @@ -247,8 +244,6 @@ impl<'a, 'cfg> Context<'a, 'cfg> { self.compilation.native_dirs.insert(dir.clone()); } } - self.compilation.host = self.bcx.build_config.host_triple().to_string(); - self.compilation.target = self.bcx.build_config.target_triple().to_string(); Ok(self.compilation) }