This is basically it, but there are some problems. The -mno-cygwin flag and
the cross-compile mode of the cygming-targeted compiler are somewhat kludgey.
The major purpose for which they are packaged is so that you can rebuild the
cygwin dll itself from within the cygwin environment. It's not really
intended for general cross-development, and although it'll just about do,
there is a problem: it doesn't correctly switch over /all/ the default search
paths; if you compare the output of "gcc -v -E -xc - < /dev/null" and "gcc
-mno-cygwin -v -E -xc - < /dev/null", you'll see that gcc -mno-cygwin still
searches the cygwin compiler-specific include dir
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include
when it should be looking in:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/include
I don't know - and couldn't say for sure without doing a thorough audit -
how serious this could be, but from running a very quick diff over it, I can
see that it might in particular affect C++. (It could easily break passing
std::strings across DLL boundaries, which cygwin has some custom mods to the
c++ stl header files relating to).