diff --git a/src/lib.rs b/src/lib.rs index 280ff7bb..3bb3f6a4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1800,7 +1800,7 @@ impl Build { cmd.args(self.asm_flags.iter().map(std::ops::Deref::deref)); } - if compiler.supports_path_delimiter() && !is_assembler_msvc { + if compiler.supports_path_delimiter() && !is_assembler_msvc && matches!(compiler.family, ToolFamily::Clang { zig_cc: false }) { // #513: For `clang-cl`, separate flags/options from the input file. // When cross-compiling macOS -> Windows, this avoids interpreting // common `/Users/...` paths as the `/U` flag and triggering diff --git a/src/tool.rs b/src/tool.rs index af43a918..cd615b1b 100644 --- a/src/tool.rs +++ b/src/tool.rs @@ -102,7 +102,12 @@ impl Tool { cargo_output, ) .map(|o| String::from_utf8_lossy(&o).contains("ziglang")) - .unwrap_or_default() + .unwrap_or_default() || { + match path.file_name().map(OsStr::to_string_lossy) { + Some(fname) => fname.contains("zig"), + _ => false, + } + } } fn guess_family_from_stdout(