Martin Wilck Martin.Wilck@fujitsu-siemens.com writes:
To achieve that, we can put functionally equivalent code into each DLL's sources, or we can provide a header that defines only static functions - as the first version of my patch did. That approach has the advantage that we won't have to repeat the same code in source files of different DLLs. What would be wrong with that?
One thing is that it introduces a header that doesn't exist under Windows. That can be acceptable, we have a few internal headers already; but it must be avoided as much as possible. The bigger problem is that you not only share static functions, but also data structures; and this is a big problem when trying to remain compatible between different versions of the various dlls.
Ultimately we may need to formalize this as part of the wine server interface, and we may not be able to avoid data structures completely. I do think that it should be possible to make the dlls more independent by doing more work in the server; but we should probably finish the implementation first and then we can start cleaning things up.