On 22/01/2021 20:34, Martin Storsjö wrote:
On Fri, 22 Jan 2021, Jacek Caban wrote:
If there is reason for llvm-dlltool to be problematic, we may try to use llvm-lib (or maybe even let lld-link do that for us).
Not sure if there's a reason for it to be problematic, other than just not a very universally acknowledged tool in itself. (It only implements essentially 1 operation out of the ones that GNU dlltool support as well, generating import libs from def files, needed by the mingw-w64-crt build.)
Reducing the tool interface down from 3 tools to 2 sounds pretty nice though, unless it's too much of a mess.
It indeed sounds nice. I experimented a bit a got it working, I will send patches after clean up and some testing. This way we may stop requiring llvm-ar and llvm-ranlib as well.
My first attempt didn't work because llvm-link does not support -def option, which would allow creating a library from both object files and def file in one pass. I got it working with two passes (which is similar to how we handle other platforms anyway): first exec lld-link -implib to generate importlib, then lld-link /lib to create a static library.
Thanks,
Jacek