> I will have to look into that. It doesn't sound like something we want. Though I don't really understand why changing the host should change the way gcc compiles code, unless it does so for cygwin itself.
Changing the host changes which compiler gets used to create the binaries. In Cygwin or Linux, you can call the MinGW compilers by providing --host=x86_64-w64-mingw32 or similar, if you're using conventional autotools. It's also possible in Cmake but it's about 5 lines worth of flags (or a toolchain file with the same content) - it works, eventually, but it's really picky. > It was my understanding that the Mingw compiler could be used from Cygwin. Perhaps I am confused about it, but it seems like interrogating the compiler may not give the information we need. Right, but when you configure with --host=x86_64-w64-mingw32 in Cygwin or Linux, you're using a cross-compiler that is prefixed by the host triple: x86_64-w64-mingw32-gcc and similar for binutils. So you can't just ask "gcc" for information - in a lot of ways MSYS(2) is a hack to avoid worrying about MinGW cross-compilation, and it leads to some bad ways of doing things. I think it's better to do the work to make a library possible to cross-compile, than to give up and say MSYS(2) is the only method of compiling it for Windows. I've been cross-compiling Julia itself and all of its dependencies from both Linux and Cygwin for months, I very rarely touch MSYS(2) any more. > We can't use the accepted gnu triples in MPIR and that has always been the case for GMP too. They don't give nearly enough information for our needs. Of course they don't provide a complete story when you're worrying about assembly and various SIMD instruction sets. But that's not the GNU triple's job. That information should be determined and represented separately, you're not going to include this kind of information in the host prefix of the name of a cross-compiler executable for example. GMP is also a pretty bad actor in terms of its autotools usage - making a symlink to libgmp.dll called libgmp.lib in lib/ is completely the wrong thing to do for MinGW. Not your fault I know, but sounds like you may have inherited some autotools abuses from GMP.
