diff --git a/src/lib.rs b/src/lib.rs index 30ebc9212..629bd075a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -192,6 +192,7 @@ pub struct Tool { family: ToolFamily, cuda: bool, removed_args: Vec, + has_internal_target_arg: bool, } /// Represents the family of tools this tool belongs to. @@ -1566,8 +1567,7 @@ impl Build { // Target flags match cmd.family { ToolFamily::Clang => { - if !(target.contains("android") - && android_clang_compiler_uses_target_arg_internally(&cmd.path)) + if !(target.contains("android") && cmd.has_internal_target_arg) { if target.contains("darwin") { if let Some(arch) = @@ -2358,6 +2358,7 @@ impl Build { let file_name = path.to_str().unwrap().to_owned(); let (target, clang) = file_name.split_at(file_name.rfind("-").unwrap()); + tool.has_internal_target_arg = true; tool.path.set_file_name(clang.trim_start_matches("-")); tool.path.set_extension("exe"); tool.args.push(format!("--target={}", target).into()); @@ -2898,6 +2899,7 @@ impl Tool { family: family, cuda: false, removed_args: Vec::new(), + has_internal_target_arg: false, } } @@ -2929,6 +2931,7 @@ impl Tool { family: family, cuda: cuda, removed_args: Vec::new(), + has_internal_target_arg: false, } }