On Tue, 11 Feb 2003, Paulo de Carvalho wrote: > 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? Not a matter of allowed. .dll.so libraries don't export the windows functions as elf symbols, so you need winemaker to resolve them. > > 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'? > Why do you want to? What do you have against winelib? Do you want to distribute something without dragging all of winelib along? I guess yo can limit the winelib dll's you need, but remember you will need wine (and at least the winelib dll's it links to directly) ("ldd /usr/local/bin/wine")) to ... What is it you are trying to do? This is getting too abstract for me. > > Something like this: > > > Linux program Linux .so "winelib bridge" Windows Dll > > (...) > > do_it() ---------> ( _init() ) > LoadLibrary() > (...) GetProcAddress() > do_it() --------------> do_it() > This looks like what you would get with the --wrap option of winemaker, I think. Are you planning to write the implementation of do_it and compile it with lcc-win32 or something, or do you have a windows dll lying around you want to use? > > > A linux shared library in file format, but not in content. > > Everything is starting to make sense, now! :-) > > Thanx! > Paulo > If you look at the little scripts that bear the names progman, regedit, and so on, you will see that they call wine to load and execute progman.exe.so.... As it said in the snippet you quoted to start this, a wine dll is a win32 dll encapsulated inside a Unix library. I have a little winelib program I will use to send this that reads Unix stdin and adds what it reads to a windows storage object mailbox file. If for some reason it can't, it logs the error to the Unix syslog. -- ---oops--- ________________________________________________________________ Sign Up for Juno Platinum Internet Access Today Only $9.95 per month! Visit www.juno.com _______________________________________________ wine-users mailing list wine-users@winehq.com http://www.winehq.com/mailman/listinfo/wine-users