Hi,
I spent some time cross compiling all of Wine with MinGW according to this recipe:
http://winehq.com/?issue=123#Cross-compiling Wine
and I thought you might be interested in the results. I can report a bug in Wine's makefiles right away: having those vxd's in subdirectories that end in .vxd causes make to barf on targets like this one:
ifsmgr.vxd$(DLLEXT): ifsmgr.vxd/ifsmgr.vxd$(DLLEXT) $(RM) $@ && $(LN_S) ifsmgr.vxd/ifsmgr.vxd$(DLLEXT) $@
because, if $(DLLEXT) is empty, it will try to create a link with a name that's already there as a directory.
Of all dlls these don't compile:
x11drv kernel32 gdi32 ws2_32 comctl32 icmp iphlapi msvcrt ntdll rpcrt4 shlwapi vnb.vxd wininet wsock32
x11drv, kernel32, gdi32 and ntdll being predictable, because they build directly on X11 and Unix API's. Same goes for the networking related dlls (ws2_32, icmp and iphlpapi, vnb.vxd, wininet, wsock32). msvcrt is close to building because what I saw was mostly header clashes, which could be fixed with proper guards I think.
rpcrt4 fails because it uses one Unix API, gettimeofday, and both comctl32 and shlwapi suffer from the bug in dlltool that Dmitry reported and fixed recently.
-Hans
On Wed, 25 Feb 2004, Hans Leidekker wrote: [...]
Same goes for the networking related dlls (ws2_32, icmp and iphlpapi, vnb.vxd, wininet, wsock32).
Shouldn't wininet build on ws2_32 and thus compile? I think it should be investigated...
msvcrt is close to building because what I saw was mostly header clashes, which could be fixed with proper guards I think.
Yes. msvcrt should compile too.
ifsmgr.vxd$(DLLEXT): ifsmgr.vxd/ifsmgr.vxd$(DLLEXT) $(RM) $@ && $(LN_S) ifsmgr.vxd/ifsmgr.vxd$(DLLEXT) $@
because, if $(DLLEXT) is empty, it will try to create a link with a name that's already there as a directory.
Would it be an idea to rename vxd directories like ifsmgr.vxd to ifsmgr? Or do you foresee conflicts? After all, .acm, .ocx and .drv exist besides .dll without the subdirectories bearing a corresponding suffix.
-Hans
Hans Leidekker hans@it.vu.nl writes:
Would it be an idea to rename vxd directories like ifsmgr.vxd to ifsmgr? Or do you foresee conflicts? After all, .acm, .ocx and .drv exist besides .dll without the subdirectories bearing a corresponding suffix.
There will be conflicts, yes. And the subdirs for .drv etc. should have a suffix too, I'm planning to change that. The right solution is to not create symlinks for the PE build.