-
-
Notifications
You must be signed in to change notification settings - Fork 202
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
build-llvm: Install and keep llvm-lib #476
Conversation
It's an equivalent to MSVC lib.exe [^1]. It is used by meson to find the DLL name from a .lib/.dll.a [^2]. The other option is dlltool, which is not the same as llvm-dlltool. [^1] https://llvm.org/docs/CommandGuide/llvm-lib.html [^2] https://github.com/mesonbuild/meson/blob/1e986554ef2071f59fb796cda5e66c448bde6ac9/mesonbuild/scripts/symbolextractor.py#L209
Looks reasonable, thanks!
Can you explain in which use case with meson it tries to use this?
I presume you mean that meson could try to use dlltool, but llvm-dlltool doesn't implement the option that meson tries to use ( FWIW, the Meson use of |
The context is https://code.videolan.org/videolan/vlc/-/merge_requests/6696#note_470495. meson relies on a symbol file to decide if files that depend on another DLL need to be relinked or not. That's fine except for cross-compilation they just go the dirty way and assume symbols are changed at any compilation of the DLL. With 400+ DLL dependent on the core in VLC, that's a lot of relinking for nothing.
That would also be nice. And won't require a patch of meson. |
Thanks, I see. When building dav1d for mingw as a DLL, I can find this file, and see that it's empty. However I don't see it getting any contents when I provide
Well it would still require Meson to try |
This patch is needed to actually generate the symbols when cross-compiling. That's regardless of which tool is used to generate this list of symbols.
In my llvm-mingw installation I do have |
Ah, I see, thanks. I'll try with that.
If the option would be implemented, then yes, it would work regardless of architecture. So Meson could check for both |
Yes, with that one I can reproduce the situation. Thanks! |
poke, is it OK to include this ? |
Yeah, let's merge this. I haven't yet gotten to implementing this in llvm-dlltool even if I wanted to. Once that is in place, and if meson would look for either |
It's an equivalent to MSVC lib.exe.
It is used by meson to find the DLL name from a
.lib
/.dll.a
. The other option is dlltool, which is not the same as llvm-dlltool.