Bob Rossi wrote, quoting Eric Blake: >> So, if you INSIST on using the cygwin environment to cross-compile >> mingw binaries, you should use: >> >> ./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 \ >> CC='gcc -mno-cygwin' CXX='g++ -mno-cygwin' > > Well, if I do that, I get this: > > checking for MAP_ANON in sys/mman.h... no > checking for /dev/zero... configure: error: cannot check for file > existence when cross compiling > > This comes from the > AC_CHECK_FILE(/dev/zero) That's because AC_CHECK_FILE tests a feature of the *host*, not the *build* environment. If you use AC_CHECK_FILE in your configure.ac, (or if you insist, configure.in) then you *cannot* cross compile the application. And, if you want to build MinGW apps under Cygwin, you *must* be able to cross compile. (RTFM: File: autoconf.info, Node: Files |You might also need to check for the existence of files. Before using |these macros, ask yourself whether a run-time test might not be a better |solution. Be aware that, like most Autoconf macros, they test a feature |of the host machine, and therefore, they die when cross-compiling. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | - Macro: AC_CHECK_FILE (FILE, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) | Check whether file FILE exists on the native system. If it is | found, execute ACTION-IF-FOUND, otherwise do ACTION-IF-NOT-FOUND, | if given. ) Eric has already told you the solution -- use MSYS, and build natively. -mno-cygwin is a Cygwin kludge to make gcc and friends emulate a properly named i586-pc-mingw32 cross tool chain, but it doesn't make configure properly identify the *host* environment as mingw32; if you do not use --host=i586-pc-mingw32, (or an acceptable alias), then the host will still be identified as Cygwin, and, even though you've suppressed the dependency on cygwin-1.dll, there is still a strong possibility that your application will fail to deploy on a MinGW host. Regards, Keith. _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf