-
Notifications
You must be signed in to change notification settings - Fork 180
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
libjpeg-turbo fails to compile on 32bit MSVC #111
Comments
It should be checking that the __builtin_ctzl is functional: wrapdb/subprojects/packagefiles/libjpeg-turbo/meson.build Lines 68 to 69 in 0421165
Apparently on MSVC this does compile (both in the meson check, and in jcphuff.c.obj), but does not link? Is this somehow available on MSVC, but needs an additional library? |
I can confirm this fails to link on MSVC for x86. The only reason it "works" on x64 is that the check is bypassed entirely because of the size checks. I think the best / correct thing to do here is to just do I don't know why it compiles though, I'm not aware of these builtins being available on MSVC, they've got their own builtins for that ( |
FWIW, that's a direct translation from cmake:
But... the cmake doc actually says:
So |
This is a translation from CMake's check_c_source_compiles() that compiles and links the code. Fixes: mesonbuild#111
Not convinced it's "better", but whatever works ;) |
If someone can give it a try: #112 |
I mean, closer to what cmake does, which is the reference here. |
This is a translation from CMake's check_c_source_compiles() that compiles and links the code. Fixes: mesonbuild#111
This is a translation from CMake's check_c_source_compiles() that compiles and links the code. Fixes: mesonbuild#111
Does it need to be a reference to cmake? I agree that it makes more sense to use has_function, and it should be faster too. |
This is a translation from CMake's check_c_source_compiles() that compiles and links the code. Fixes: mesonbuild#111
This is a translation from CMake's check_c_source_compiles() that compiles and links the code. Fixes: #111
Running the GTK compile with the MSVC 2019 32bit toolchain (apparently I was opening the wrong shortcut and got that one) failed with:
After trying to debug it a bit, it seems to be that there's a not just the check for
___builtin_ctzl
but also one forsizeof(long)==sizeof(size_t)
and that 2nd check fails on 64bit but not on 32bit, so___builtin_ctzl
gets disabled on the CI boxes because of that.The text was updated successfully, but these errors were encountered: