From: Dirkjan Ochtman Date: Thu, 3 May 2018 08:09:54 +0000 (+0200) Subject: Proxy host_triple() and target_triple() on 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~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5b4e5e4158449623e775dc4da6617d332efeec88;p=cargo.git Proxy host_triple() and target_triple() on BuildContext --- diff --git a/src/cargo/core/compiler/build_context/mod.rs b/src/cargo/core/compiler/build_context/mod.rs index 30708ebc8..0c7eb51bf 100644 --- a/src/cargo/core/compiler/build_context/mod.rs +++ b/src/cargo/core/compiler/build_context/mod.rs @@ -109,8 +109,8 @@ impl<'a, 'cfg> BuildContext<'a, 'cfg> { None => return true, }; let (name, info) = match kind { - Kind::Host => (self.build_config.host_triple(), &self.host_info), - Kind::Target => (self.build_config.target_triple(), &self.target_info), + Kind::Host => (self.host_triple(), &self.host_info), + Kind::Target => (self.target_triple(), &self.target_info), }; platform.matches(name, info.cfg()) } @@ -139,6 +139,14 @@ impl<'a, 'cfg> BuildContext<'a, 'cfg> { info.cfg().unwrap_or(&[]) } + pub fn host_triple(&self) -> &str { + self.build_config.host_triple() + } + + pub fn target_triple(&self) -> &str { + self.build_config.target_triple() + } + /// Get the target configuration for a particular host or target fn target_config(&self, kind: Kind) -> &TargetConfig { match kind { diff --git a/src/cargo/core/compiler/compilation.rs b/src/cargo/core/compiler/compilation.rs index 6137b94eb..e30b0dce8 100644 --- a/src/cargo/core/compiler/compilation.rs +++ b/src/cargo/core/compiler/compilation.rs @@ -85,8 +85,8 @@ impl<'cfg> Compilation<'cfg> { rustdocflags: HashMap::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(), + host: bcx.host_triple().to_string(), + target: bcx.target_triple().to_string(), target_runner: LazyCell::new(), } } diff --git a/src/cargo/core/compiler/context/compilation_files.rs b/src/cargo/core/compiler/context/compilation_files.rs index cf3046eec..8875317f5 100644 --- a/src/cargo/core/compiler/context/compilation_files.rs +++ b/src/cargo/core/compiler/context/compilation_files.rs @@ -268,7 +268,7 @@ impl<'a, 'cfg: 'a> CompilationFiles<'a, 'cfg> { crate_type, flavor, unit.target.kind(), - bcx.build_config.target_triple(), + bcx.target_triple(), )?; match file_types { @@ -324,14 +324,14 @@ impl<'a, 'cfg: 'a> CompilationFiles<'a, 'cfg> { does not support these crate types", unsupported.join(", "), unit.pkg, - bcx.build_config.target_triple() + bcx.target_triple() ) } bail!( "cannot compile `{}` as the target `{}` does not \ support any of the output crate types", unit.pkg, - bcx.build_config.target_triple() + bcx.target_triple() ); } info!("Target filenames: {:?}", ret); @@ -384,7 +384,7 @@ fn compute_metadata<'a, 'cfg>( let __cargo_default_lib_metadata = env::var("__CARGO_DEFAULT_LIB_METADATA"); if !(unit.mode.is_any_test() || unit.mode.is_check()) && (unit.target.is_dylib() || unit.target.is_cdylib() - || (unit.target.is_bin() && bcx.build_config.target_triple().starts_with("wasm32-"))) + || (unit.target.is_bin() && bcx.target_triple().starts_with("wasm32-"))) && unit.pkg.package_id().source_id().is_path() && __cargo_default_lib_metadata.is_err() { diff --git a/src/cargo/core/compiler/custom_build.rs b/src/cargo/core/compiler/custom_build.rs index 1aba821d2..566b851b8 100644 --- a/src/cargo/core/compiler/custom_build.rs +++ b/src/cargo/core/compiler/custom_build.rs @@ -131,8 +131,8 @@ fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) -> CargoRes .env( "TARGET", &match unit.kind { - Kind::Host => &bcx.build_config.host_triple(), - Kind::Target => bcx.build_config.target_triple(), + Kind::Host => &bcx.host_triple(), + Kind::Target => bcx.target_triple(), }, ) .env("DEBUG", debug.to_string()) @@ -145,7 +145,7 @@ fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) -> CargoRes "debug" }, ) - .env("HOST", &bcx.build_config.host_triple()) + .env("HOST", &bcx.host_triple()) .env("RUSTC", &bcx.build_config.rustc.path) .env("RUSTDOC", &*bcx.config.rustdoc()?) .inherit_jobserver(&cx.jobserver);