about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Wright <mikerite@lavabit.com>2018-09-06 07:01:56 +0200
committerMichael Wright <mikerite@lavabit.com>2018-09-06 07:01:56 +0200
commit4f7a260472d1722c8b2bf0771c875e69f3a2bf48 (patch)
tree57763d16a69989c4e5d84c0a69c6ca1cf0f7363d /src
parented38d9c79f6c8613f508e024d4aa0d78b8b6e108 (diff)
downloadrust-4f7a260472d1722c8b2bf0771c875e69f3a2bf48.tar.gz
rust-4f7a260472d1722c8b2bf0771c875e69f3a2bf48.zip
driver: Improve check for rustc arg
The rustc arg might not be exactly "rustc". It may be any path to a rustc
executable (especially if the RUSTC environment variable is set when
executing cargo). Rather check that it is a path with 'rustc' file stem.
Diffstat (limited to 'src')
-rw-r--r--src/driver.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/driver.rs b/src/driver.rs
index 26ff846177b..267e460ad2e 100644
--- a/src/driver.rs
+++ b/src/driver.rs
@@ -6,6 +6,7 @@
 
 use rustc_driver::{self, driver::CompileController, Compilation};
 use rustc_plugin;
+use std::path::Path;
 use std::process::{exit, Command};
 
 #[allow(clippy::print_stdout)]
@@ -47,7 +48,7 @@ pub fn main() {
         if orig_args.len() <= 1 {
             std::process::exit(1);
         }
-        if orig_args[1] == "rustc" {
+        if Path::new(&orig_args[1]).file_stem() == Some("rustc".as_ref()) {
             // we still want to be able to invoke it normally though
             orig_args.remove(1);
         }