Skip to content

Fix DLL load regression with MSVC

Nirbheek Chauhan requested to merge nirbheek/cerbero:fix-msvc-regression into master

commit 21ea73b3:

cerbero/windows: Don't try to use objc/objc++ compilers

Meson 0.53 can correctly detect MinGW objc/objc++ compilers, which
means that if you follow our instructions and install MSYS/MinGW, you
will have those available, which will be found by Meson.

This has the unintended side-effect that Meson will then use the
objc++ compiler to find libraries that it's searching for in
`dependency()` calls, since it has higher priority than the C++
compiler (which is MSVC++ in our case).

So Meson will end up preferring `libfoo.dll.a` over `foo.lib` when
looking for import libraries. Unfortunately, some of those are
malformed (such as `libssl.dll.a` and `libcrypto.dll.a`) and the DLLs
will fail to load some symbols at runtime, such as `DTLS_method`.

Fixes #246 (closed)

commit 6226f977:

meson.recipe: Bump to 0.53.2 stable release

Also remove lots of unused patches that I forgot to remove.

commit d2292f75:

meson.recipe: Backport two patches that speed up install

Installation of gst-plugins-bad-1.0 on Windows goes from 5s to 2.5s

commit c449b23c:

windows.config: Place temporary wine files in var/tmp
This is a more obvious place for it, and is self-documenting in the CI
YAML too, where we exclude it from the cerbero-deps tarball.
Edited by Nirbheek Chauhan

Merge request reports