[vcpkg baseline][gdk-pixbuf] Fix build error on windows#17528
[vcpkg baseline][gdk-pixbuf] Fix build error on windows#17528BillyONeal merged 10 commits intomicrosoft:masterfrom
Conversation
|
wrong fix the correct fix is to have the check call the function with the correct parameters |
|
@Neumann-A, thanks for your review! After some investigations, it looks 'has_function' in https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/blob/master/meson.build#L93 generate wrong check code here with vs2019. meson.build log: |
|
Related to upstream issue https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/187. |
|
@Neumann-A, we don't know how to correct the args, we just replace the functions with check code. |
|
Note this just a workaround to avoid this bug, we need to wait for upstream reply to completely solve this issue. |
This also happens with autotools and cmake builds. The only difference is that for those we are able to override the result. |
|
I think the trick is to pass |
It seems related to the option https://docs.microsoft.com/en-us/cpp/build/reference/oi-generate-intrinsic-functions?view=msvc-160. |
|
with |
|
this should be the minimal patch. there is no need to patch |
|
Thanks @Neumann-A for your help! I applied the minimal patch which pass the option '-Oi' to the check function. |
|
With minimal patch, it failed on linux platform: |
|
@strega-nil-ms, could you help review and merge this PR? |
Related to #17431
It looks 'has_function' in https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/blob/master/meson.build#L93 generate wrong check code here with vs2019. just replace the functions with correct check code. this issue occurred on vs2019, it compiles fine with vs2017.
Fix the failures:
E:\vcpkg\clean\vcpkg\buildtrees\gdk-pixbuf\src\k-pixbuf-2-c86079bed6\gdk-pixbuf\pixops../fallback-c89.c(38): error C2169: 'lrint': intrinsic function, cannot be defined
Upstream issue https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/187.
Meson issue: mesonbuild/meson#8703 mesonbuild/meson#8702.