After much screaming, hollering, tweaking, and hitting gcc with a hammer, EE is now (somewhat) compileable under cygwin! not only that, but a retro OS was added to the "supported" OSes. I wonder which one that could be?
Although it didn't take 5 seconds for a weird bug to creep up:
A Visual C++ 2005 compiler bug is shown here, leading to wrong results out of an assembler version of the absolute value routine. This makes the player wall-slide backwards when facing certain directions, mostly 90 degree angles. I have dubbed this the "stickywall" bug. It has since been fixed.
EE in that video is running on a P200 MMX. The framerate is surprisingly good.
Not to burst your bubble, but Win95 is *not* officially supported. Not only must it be compiled under a different configuration using the Visual Studio 2005 project, but then the executable file has to be loaded into IDA Pro to find the offset of the crt0's call to InterlockedCompareExchange so that it can be replaced with hand-assembled code to do a lock cmpxchg op.
If that's not enough, it also has to be distributed with a hacked version of msvcr80.dll, which, AFAIK, would violate Microsoft's licensing terms for that chunk of code (the Microsoft C++ runtime is apparently no longer freely redistributable since it changed into an SxS, and it certainly never states that you can modify it...).
The last one alone is a killer for official support, at least through this route.
Maybe if somebody with a debugger that runs under Win95 can figure out why the cygwin compile segv's at startup, then support through that route is possible.
The cygwin version of EE has been working as of a week ago, actually. It's not "officially" supported I know, but there is an EXE now that is playable, if only for the computer used to compile the source.