On 13 Apr 2003, Alexandre Julliard wrote:
That depends a bit on what you are trying to achieve. But in any case simply linking against libwine can't work since libwine doesn't export the Windows APIs; so you have to link against the Wine dlls one way or another. To build a regular Unix app this would mean making the Wine dlls normal ELF libraries, which would break a number of things; so you would probably need a separate set of "crippled" Wine dlls where features that can't be done in ELF are disabled or hacked around.
Many people need to link against very simple DLLs that are simple shared libs, no fancy PE features. What we probably need is a tool of sorts that export some sort of ELF import libs. That is, given a regular PE DLL or a Wine ELF DLL, it exports as much as it can into a ELF so library that the program can link to. Of course, the program will also have to link with -lwine for it to work.
Does this sound reasonable/workable? BTW, I'm not very familiar with the various formats (ELF/PE), what would we be missing if we are to export to ELF? Resources come to mind, but I think we can export some sort of symbol to ELF that our Wine code would understand, so they may not be a problem.