-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ninjabackend: detect_vs_dep_prefix doesn't correctly handle clang-cl cross compilation. #5639
Comments
I'm new to meson, just started trying it, and immediately got stuck with the
issue, without doing any cross-compilation or anything nontrivial. Unfortunately, I can't tell if my case is related at all; Google sent me here, when looking for this error message, FWIW. |
I got this with just MSVC, and not clang-cl. This caused failure to compiler glib from source for me. |
In meson v0.53.1 The "Could not determine vs dep dependency prefix string." portion of the problem still exists, and can be resolved using the updated matchre in OP, above (#5639 (comment)) |
Fixing this by changing:
pc = subprocess.Popen([compiler.get_exelist(),
to:
pc = subprocess.Popen([compiler.get_exelist()[0],
Resolves that issue, but then the regex used to figure out the prefix is wrong on Linux. I.e., it doesn't handle paths like:
b'Note: including file: /d/code/chrome/src/third_party/depot_tools/win_toolchain/vs_files/418b3076791776573a815eb298c8aa590307af63/win_sdk/Include/10.0.18362.0/ucrt/stdio.h'
This can be resolved by changing the regex from:
matchre = re.compile(rb"^(.*\s)[a-zA-Z]:\\.*stdio.h$")
to:
matchre = re.compile(rb"^(.*\s)([a-zA-Z]:\\|\/).*stdio.h$")
The text was updated successfully, but these errors were encountered: