Proxy host_triple() and target_triple() on BuildContext
authorDirkjan Ochtman <dirkjan@ochtman.nl>
Thu, 3 May 2018 08:09:54 +0000 (10:09 +0200)
committerDirkjan Ochtman <dirkjan@ochtman.nl>
Thu, 3 May 2018 19:54:49 +0000 (21:54 +0200)
src/cargo/core/compiler/build_context/mod.rs
src/cargo/core/compiler/compilation.rs
src/cargo/core/compiler/context/compilation_files.rs
src/cargo/core/compiler/custom_build.rs

index 30708ebc8068c23e51d0d485dc7eccaf4a42e9b3..0c7eb51bff850a9a75df99704588073ca12bc109 100644 (file)
@@ -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 {
index 6137b94eb32faa78678db4ad939c73f4ae3358a3..e30b0dce82fb048fb5fae382369ccb604e608174 100644 (file)
@@ -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(),
         }
     }
index cf3046eec2d3129ad2c5a04c80539cf6ceb31bdb..8875317f56484060f57d247807c832bb1e9431ec 100644 (file)
@@ -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()
     {
index 1aba821d2085a6bcc9da36de6196e146c2b78cdd..566b851b80102b98d11c10df3055505001793c06 100644 (file)
@@ -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);