Building DLLs and other Qs

Peter Riocreux par+wine_devel at silistix.com
Fri Jul 23 07:36:56 CDT 2004


Before I get onto my questions I would just like to say:

This mail is not intended to start a flame war
----------------------------------------------

It is intended in a spirit of understanding what is the current
status.

First the quick question - I want to install a built-from-CVS wine on
multiple Fedora Core 1 machines. I can't find a spec file anywhere to
make an RPM with - should I just pinch one from a FC1 Wine package, or
is anyone maintaining a set of package-build scripts (RPM, dpkg,
etc.)?

Now the more complicated and possibly flame-inducing question. While
looking round the source tree for a spec file I noticed that all the
WINE DLLs seem to end up as .dll.so files. I assume this is because
the native platform's gcc can't build a real DLL, so it is wrapped up
as a .so and wine (the binary) loads them as such and them does a
connect-the-dots exercise to make it look to the application as if it
loaded a real DLL. 

My understanding is that a cross-compiled gcc would build real DLLs,
and as wine is able to load them when given them, would there be any
advantage to building them with a cross-compiling toolchain if one
were available. I am thinking here of perhaps some kind of loading
speed improvement (unlikely to be significant if any) or maybe some
perverse custom installer that looks for specifically named files in
specific places on the filesystem it sees.

If there is no advantage, could the converse be true - that there
would be some benefit to wrapping native DLLs in a .so shell for speed
improvement - perhaps analysing the DLL on load is very hard work and
if this were done once and the result saved as a .so .....


Peter




More information about the wine-devel mailing list