www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Similiar tool like implib/dumpbin?

reply Andre Pany <andre s-e-a-p.de> writes:
Hi,

Is there a similar tool like MS dumpbin available to generate DLL 
static import libraries?
DMD contains implib, but this works only with OMF. For COFF there 
is MS dumpbin. But installing the whole Build Tools for just that 
little tool seems odd.

I saw there are different llvm tools available but I am not sure 
what their purpose are and how they work.

Kind regards
Andre
Nov 03 2019
parent reply kinke <noone nowhere.com> writes:
On Sunday, 3 November 2019 at 10:35:00 UTC, Andre Pany wrote:
 I saw there are different llvm tools available but I am not 
 sure what their purpose are and how they work.
I haven't tried it, but llvm-dlltool seems to be what you are looking for:
 llvm-dlltool.exe --help
OVERVIEW: llvm-dlltool USAGE: llvm-dlltool [options] file... OPTIONS: -D <value> Specify the input DLL Name -d <value> Input .def File -f <value> Assembler Flags -k Kill n Symbol from export -l <value> Generate an import lib -m <value> Set target machine -S <value> Assembler
Nov 03 2019
parent reply Andre Pany <andre s-e-a-p.de> writes:
On Sunday, 3 November 2019 at 14:23:36 UTC, kinke wrote:
 On Sunday, 3 November 2019 at 10:35:00 UTC, Andre Pany wrote:
 I saw there are different llvm tools available but I am not 
 sure what their purpose are and how they work.
I haven't tried it, but llvm-dlltool seems to be what you are looking for:
 llvm-dlltool.exe --help
OVERVIEW: llvm-dlltool USAGE: llvm-dlltool [options] file... OPTIONS: -D <value> Specify the input DLL Name -d <value> Input .def File -f <value> Assembler Flags -k Kill n Symbol from export -l <value> Generate an import lib -m <value> Set target machine -S <value> Assembler
Thanks a lot. I will try it. If it works well this tool could be included into ldc and dmd as replacement for implib. Kind regards Andre
Nov 03 2019
parent reply Andre Pany <andre s-e-a-p.de> writes:
On Sunday, 3 November 2019 at 14:37:57 UTC, Andre Pany wrote:
 On Sunday, 3 November 2019 at 14:23:36 UTC, kinke wrote:
 On Sunday, 3 November 2019 at 10:35:00 UTC, Andre Pany wrote:
 I saw there are different llvm tools available but I am not 
 sure what their purpose are and how they work.
I haven't tried it, but llvm-dlltool seems to be what you are looking for:
 llvm-dlltool.exe --help
OVERVIEW: llvm-dlltool USAGE: llvm-dlltool [options] file... OPTIONS: -D <value> Specify the input DLL Name -d <value> Input .def File -f <value> Assembler Flags -k Kill n Symbol from export -l <value> Generate an import lib -m <value> Set target machine -S <value> Assembler
Thanks a lot. I will try it. If it works well this tool could be included into ldc and dmd as replacement for implib. Kind regards Andre
I had the chance to test the tool llvm-dlltool.exe and it works like a charme. You can find the executable in the tar archive here: https://msys2.duckdns.org/package/mingw-w64-x86_64-llvm?repo=mingw64 To create e.g. the import x86-64 import library for sqlite you can use this command: llvm-dlltool.exe -D sqlite3.dll -d sqlite3.def -l sqlite3.lib -m i386:x86-64 Kind regards André
Nov 13 2019
parent kinke <noone nowhere.com> writes:
On Wednesday, 13 November 2019 at 19:54:32 UTC, Andre Pany wrote:
 You can find the executable in the tar archive here: 
 https://msys2.duckdns.org/package/mingw-w64-x86_64-llvm?repo=mingw64
Or in https://github.com/ldc-developers/llvm/releases/download/ldc-v9.0.0/llvm-9 0.0-windows-x64.7z, which is a 76 MB download vs. the 264 MB of the MinGW-w64 package.
Nov 14 2019