util: Make process_test path compatible with mingw native toolchains
authorpal1000 <liviuprodea@yahoo.com>
Fri, 24 Apr 2020 14:06:01 +0000 (17:06 +0300)
committerMarge Bot <eric+marge@anholt.net>
Fri, 8 May 2020 14:09:09 +0000 (14:09 +0000)
v2: Make sure we require winepath when using mingw crosscompilers

v3: Also take into account mingw clang toolchains

Acked-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Fixes: f8f14130 ("util/u_process: add util_get_process_exec_path")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2788
CC: "20.1" <mesa-stable@lists.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4731>

src/util/meson.build

index 2851c0c9880bf407c8c846710bf036611c01f3c7..7ea125e5ac8442c4dfc2c0924e29805a6324d446 100644 (file)
@@ -287,10 +287,13 @@ if with_tests
     dependencies : idep_mesautil,
     c_args : [c_msvc_compat_args],
   )
-  if (host_machine.system() == 'windows' and cc.get_id() == 'gcc')
-    # This conversion is only required on mingw
+  if (host_machine.system() == 'windows' and build_machine.system() != 'windows')
+    # This conversion is only required on mingw crosscompilers, otherwise we hit at least one of these issues
+    # https://gitlab.freedesktop.org/mesa/mesa/-/issues/2690
+    # https://gitlab.freedesktop.org/mesa/mesa/-/issues/2788
+    prog_winepath = find_program('winepath')
     process_test_exe_full_path = run_command(
-      'winepath', '-w', process_test_exe.full_path()
+      prog_winepath, '-w', process_test_exe.full_path()
     ).stdout().strip()
   else
     process_test_exe_full_path = process_test_exe.full_path()