Winlib, winebuild and linux shared libraries questions
Paulo de Carvalho
plc at netcabo.pt
Tue Feb 11 09:43:42 CST 2003
Before continuing, let me thank you for your very enlightening answer.
whitnl73 at juno.com wrote:
> A winelib program or dll can use either windows C runtime
> (if it imports msvcrt/mfc42 or crtdll) or *NIX C runtime
> functions if it doesn't.
> Winelib .exe.so programs can import from .dll.so files (or
> windows native dll's, depending on ~/.wine/config for each
> dll/application);
> a .dll.so can import from other .dll.so files.
I see... So, only Winelib apps/dlls are allowed to link with .dll.so
files... Is this because the initialization code needed to setup the
Windows 'environment' expected by Windows DLLs?
If so, is it possible to "turn" a Linux shared library into a Winelib
app/dll by inserting that initialization code in a _init
(http://en.tldp.org/HOWTO/Program-Library-HOWTO/miscellaneous.html#INIT-AND-FINI)
function on a shared library?
As you may have already noticed, what I'm really looking for is a way
to develop on Linux without linking (directly, at least) with wine
libraries. So I was thinking in building a linux shared library to wrap
this initialization code. Is this possible? Or am I day-dreamin'?
Something like this:
Linux program Linux .so "winelib bridge" Windows Dll
(...)
do_it() ---------> ( _init() )
LoadLibrary()
(...) GetProcAddress()
do_it() --------------> do_it()
>
> One thing I've noticed is that, after using winemaker, one of the
>> created files is a <targetname>.so file, a linux shared library.
>>
> A linux shared library in file format, but not in content.
Everything is starting to make sense, now! :-)
Thanx!
Paulo
More information about the wine-users
mailing list