Closed dvrogozh closed 1 year ago
@eli-schwartz can you advise on this issue? is there a way in meson to query library link name to put in .pc file?
So clearly it should depend on libva.dll rather than va.dll, but due to Microsoft things, either one could be intended by -lva
. This is somewhat more complex because actually it looks for an import library, not a dll, at link time.
Obviously this worked somehow when compiling libva-utils -- meson, and the compiler, found the intended libraries. This would be reported by the verbose compilation logs that were omitted from the bug report
So the question is, why does libva-utils link to an import library successfully, but then erroneously think that the associated DLL file name to embed into the vainfo.exe binary metadata should be different from what it actually is?
vs_module_defs : 'libva.def',
This file hardcodes the library name as "va", which is fine as long as you also conditionally set the name prefix in meson to empty on platforms where that def file is used.
Should we just drop hardcoding library name entirely from .def file and fully rely on the compiler?
$ cat libva_win32.def
EXPORTS
vaGetDisplayWin32
This seems working with mingw32 and vainfo start depend on libva*.dll libs. I am not sure though how much specifying LIBRARY
in the .def file is a requirement.
So, I create #712 PR with such a fix. Appreciate review.
Using msys2 to build libva and libva-utils:
After that we are getting this:
I.e. vainfo depends on non-existing va.dll and va_win32.dll. @sivileri : fyi