cerbero: Fix loading of rsvg, ttmlsubs, resindvd under MSVC
We were setting `objc` as `[]` in the native file, because of which meson was auto-detecting it and finding it inside the MSYS-MinGW env. Then it was using that (instead of the MSVC compiler) to search for libraries inside `dependency()` and picked the GCC-compatible import libraries (`.dll.a`) for all dependencies, such as cairo, pango, libxml2, fontconfig, etc. The MSVC linker tried its best to chug along and mostly succeeded, but possibly due to format incompatibilities between `.dll.a` and `.lib` import library formats or bugs in GCC and/or MSVC, this led to the linker getting confused and looking for some libxml2 symbols both inside cairo *and* libxml2 DLLs, and doing the same for some cairo symbols too. For example, it was looking for `xmlDocGetRootElement` and `cairo_create` in both `libxml2-2.dll` and *also* in `libcairo-2.dll`. Since in PE images multiple references to the same symbol in different DLLs is allowed and all these references must be resolved at runtime, this was a runtime error not a build-time error. The same thing was also happening to resindvd. Oh, also re-enable resindvd which was accidentally disabled on MSVC when it was supposed to be disabled on UWP. Closes #277 Part-of: <!525>
parent
d8b165d3
No related branches found
No related tags found