Skip to content

Commit

Permalink
Fix --target getting passed twice to the Android NDK clang on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
Arc-blroth committed Oct 3, 2023
1 parent 755e4fe commit 53564e0
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ pub struct Tool {
family: ToolFamily,
cuda: bool,
removed_args: Vec<OsString>,
has_internal_target_arg: bool,
}

/// Represents the family of tools this tool belongs to.
Expand Down Expand Up @@ -1824,9 +1825,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) =
map_darwin_target_from_rust_to_compiler_architecture(target)
Expand Down Expand Up @@ -2696,6 +2695,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());
Expand Down Expand Up @@ -3522,6 +3522,7 @@ impl Tool {
family: family,
cuda: false,
removed_args: Vec::new(),
has_internal_target_arg: false,
}
}

Expand Down Expand Up @@ -3582,6 +3583,7 @@ impl Tool {
family: family,
cuda: cuda,
removed_args: Vec::new(),
has_internal_target_arg: false,
}
}

Expand Down

0 comments on commit 53564e0

Please sign in to comment.