On Fri, Jun 06, 2003 at 08:47:31AM +0300, Shachar Shemesh wrote: > Stefan Sperling wrote: > > >But I can see what functions are being called in the object code (thanks > >nm). > >Three of which come from wine: > > > > LoadLibraryA > > GetProcAddress > > FreeLibrary > > > > > Hi Stefan. > > What you just saw is the bare minimum you need in order to load a > library. I'm afraid, however, that it is far from all you need. > > First, when you load another library, that library may need any DLL at > all. In order to assess how much of Wine you need, you need to also look > at the DLLs loaded. Also, please bear in mind that GetProcAddress can > load other functions, and those functions called. >
I don't think there will be a lot of dependencies on other DLLs, apart from the standard C stuff (which is a lot already!). I can only think of one or two, and they do not belong to windows. I have them and I will load them as well. What do I have to look out for when loading a DLL other DLLs depend on? If a DLL calls a function of another DLL, is wine managing the call for me or will my code have to be aware of this, granted I use winelib? Will the requested DLL be loaded automatically? Is the standard C stuff covered by wine? What files from the wine source tree will I need so I have the apropriate code at hand? What happens if a DLL expects functions from the windows environment in a certain windows DLL not yet implemented in wine? Anything else than my app crashing when those functions are called, that is? How could I provide those functions myself? Bottom line: I have a lot of questions... Is there any documentation about this? I don't want to bother the wine-devel mailing list too much with these problems since they are not really concerned with developing wine itself. > Wine invented something called "winelib executable". This is an ELF > library that can also link to PE DLLs. It appears that your best bet, if > you don't want to embark on massive copy/paste activity, is to create > your util as a winelib. There are some disadvantges to that as well (a > dependancy on Wine, for one). Will this affect my whole app or can I tuck the winelib dependency away in a seperate module? Again, I bet there's a lot of documentation on that in the sheer amount of wine docs, is there? Stefan
