I am sorry, but I'm going to ask this without RTF{M,C}:
1. Building Winelib DLLs We need the .spec file, I know. But can we also use a .def file instead (without relay support, of course). My understanding is that the extra information in the .spec file is needed only for relay debugging... If we are to ask people for extra work to create Winelib DLLs, I think we can get away with a .def file, but not with a .spec file (no tool support in Windows, etc.)
2. Linking Winelib apps with Windows (PE) DLLs Is this possible? We will not be able to use the original import libs, we should be able to make do with a .def file. Is this supported by winebuild?
I am trying to understand this a bit better for (a) winegcc support for building DLLs (b) updating the Winelib docs
Thanks!
"Dimitrie O. Paun" dpaun@rogers.com writes:
I am sorry, but I'm going to ask this without RTF{M,C}:
- Building Winelib DLLs
We need the .spec file, I know. But can we also use a .def file instead (without relay support, of course). My understanding is that the extra information in the .spec file is needed only for relay debugging...
Not only that, there are also things like register functions etc. But we should definitely be able to build standard Winelib dlls with a .def file, this shouldn't be too hard to add. It will probably require some tweaking of the winebuild command line options though, --spec and --def are going to be confusing if we also accept .def files as input.
- Linking Winelib apps with Windows (PE) DLLs
Is this possible? We will not be able to use the original import libs, we should be able to make do with a .def file. Is this supported by winebuild?
Yes that should work.
On September 28, 2003 05:02 pm, Alexandre Julliard wrote:
Not only that, there are also things like register functions etc. But we should definitely be able to build standard Winelib dlls with a .def file, this shouldn't be too hard to add.
Glad to hear that, we do need to support it to add meaningful DLL build support to winegcc.
It will probably require some tweaking of the winebuild command line options though, --spec and --def are going to be confusing if we also accept .def files as input.
Indeed, maybe we can rename --spec to just --lib (or --implib), as we are in fact creating an import library...
[snip question about linking to a PE DLL]
Yes that should work.
So for this to work (say we have a MyStuff.DLL), I would add a -lMyStuff, and I'd have to have a MyStuff.DEF (?.def?) and MySfuff.DLL (?.dll?) into my -L dirs?
"Dimitrie O. Paun" dpaun@rogers.com writes:
It will probably require some tweaking of the winebuild command line options though, --spec and --def are going to be confusing if we also accept .def files as input.
Indeed, maybe we can rename --spec to just --lib (or --implib), as we are in fact creating an import library...
I was thinking we could use --dll, since that's what we are ultimately building; and it fits well with --exe.
So for this to work (say we have a MyStuff.DLL), I would add a -lMyStuff, and I'd have to have a MyStuff.DEF (?.def?) and MySfuff.DLL (?.dll?) into my -L dirs?
It should be named libMyStuff.def, by analogy with libMyStuff.a that you'd use with mingw; but we could make it support MyStuff.def too if needed. You don't need the dll at link time, only at run time.
On September 29, 2003 01:24 am, Alexandre Julliard wrote:
I was thinking we could use --dll, since that's what we are ultimately building; and it fits well with --exe.
Agreed, --dll is a better choice.
So for this to work (say we have a MyStuff.DLL), I would add a -lMyStuff, and I'd have to have a MyStuff.DEF (?.def?) and MySfuff.DLL (?.dll?) into my -L dirs?
It should be named libMyStuff.def, by analogy with libMyStuff.a that you'd use with mingw; but we could make it support MyStuff.def too if needed. You don't need the dll at link time, only at run time.
I'm afraid libMyStuff.def is a bit too Unix-like, I *think* it's a lot more common in the Windows universe to have it called MyStuff.def. But I don't know exactly if people even know what a .def file is these days :), and I have little knowledge how folks are naming their .def files, so ...
I'm afraid libMyStuff.def is a bit too Unix-like, I *think* it's a lot more common in the Windows universe to have it called MyStuff.def. But I don't know exactly if people even know what a .def file is these days :), and I have little knowledge how folks are naming their .def files, so ...
Usually with the same name as the dll is the least confusing (as in MyStuff.dll and MyStuff.def). We for sure still use it (on Windows) but I don't know for wine/lib.
bye Fabi