about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMateusz Mikuła <mati865@gmail.com>2024-04-23 20:47:21 +0200
committerMateusz Mikuła <mati865@gmail.com>2024-04-24 19:24:45 +0200
commitb1fd4a7a49f9558b00aface02d6a5c5ccfa59d4c (patch)
treefbefedac7ab66cc2a402f2b2182ec9a1d40e128c
parenta51ad7971261963906ffe37710610fa3fbfba723 (diff)
downloadrust-b1fd4a7a49f9558b00aface02d6a5c5ccfa59d4c.tar.gz
rust-b1fd4a7a49f9558b00aface02d6a5c5ccfa59d4c.zip
Skip dlltool tests on non `*windows-gnu` targets
-rw-r--r--src/tools/compiletest/src/header/needs.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/tools/compiletest/src/header/needs.rs b/src/tools/compiletest/src/header/needs.rs
index 20d3fd47343..7bc7e4b8680 100644
--- a/src/tools/compiletest/src/header/needs.rs
+++ b/src/tools/compiletest/src/header/needs.rs
@@ -261,6 +261,11 @@ fn find_dlltool(config: &Config) -> bool {
     let path = std::env::var_os("PATH").expect("missing PATH environment variable");
     let path = std::env::split_paths(&path).collect::<Vec<_>>();
 
+    // dlltool is used ony by GNU based `*-*-windows-gnu`
+    if !(config.matches_os("windows") && config.matches_env("gnu") && config.matches_abi("")) {
+        return false;
+    }
+
     // On Windows, dlltool.exe is used for all architectures.
     // For non-Windows, there are architecture specific dlltool binaries.
     let dlltool_found = if cfg!(windows) {