On Tue, Dec 30, 2008 at 5:02 PM, Roderick Colenbrander thunderbird2k@gmx.net wrote:
Cygwin/Mingw doesn't work due to missing functionality for wineserver I believe (not sure what). Someone recently claimed that he indeed had wine working on Interix on a 32-bit WinXP. Right now he was trying to compile it on a 64-bit Windows but had all sorts of troubles. For instance there is some define for ELF stuff which he had to disable. He didn't succeed in compiling it and I have doubts that he succeeded before but Interix looks the most promosing of the options right now.
I've poked at it off and on over the years Its been my experience building on Cygwin was actually less trouble. Cygwin and SFU/Internix both require the same basic lowlevel magic. Proper signal handling, getting the thread management right and sendmsg/recvmsg support. I think someone on the cygwin side was working on the sendmsg/recvmsg part so maybe that could be ported over to SFU.
Honestly though I think this is the wrong approach. If you want to emulate an older windows environment you should look at something like VMware's Thinapp. The Wine on Windows method is going to involve either emulating Win32 on Cygwin on Win32 or Win32 on POSIX on NTOS. I think its too many layers of abstraction and redirection. I don't know the internals of the Thinapp design, (if Ge van Geldorp is lurking he can explain more), but I believe it uses Side by Side assemblies to link on older versions of Windows dlls or Windows replacement dlls to trick the applications in to thinking they are on older Windows. You could take the existing Wine for Mingw32 dlls and a good bit of other Wine code and try to start a project doing something like this without the overhead of the wineserver and posix emulation.
A FOSS Thinapp clone sounds like a reall fun project actually...
Thanks