On 28 March 2017 at 12:53, Stefan Weil <s...@weilnetz.de> wrote: > Am 28.03.2017 um 10:04 schrieb Paolo Bonzini: >> On 27/03/2017 22:11, Stefan Weil wrote: >>> * Support cross compilation with the most common cross prefixes >>> for Mingw-w64. Other cross builds are still broken! >> Can you explain how it's broken? Why does check_define not work at this >> point, for cross builds? >> >> "../configure --cross-prefix=x86_64-w64-mingw32-" seems to work for me. >> >> Paolo > > You are right. I was wrong because of this use case: > > $ ./configure '--enable-debug' '--cross-prefix=x86_64-w64-mingw32' > > ERROR: Unsupported host OS CYGWIN_NT-6.1 > > So the error message is misleading when I specify a wrong cross prefix > (it should have been x86_64-w64-mingw32- instead of x86_64-w64-mingw32).
Ah, I see. In the fall-through case we'd then complain that the compiler didn't work. I think the underlying problem here is that we use the compiler (for the check_prefix tests) before the "does this compiler even work" test... (This only happens in the case where you're doing a cross compile and the build machine is not a supported QEMU host.) > With the correct cross prefix, builds work, so cross builds are > not a critical issue as I thought. > > The second issue which remains is calling ./configure --help: > > $ ./configure --help > > ERROR: Unsupported host OS CYGWIN_NT-6.1 Yeah, we should not complain for --help; I'll see if I can fix that. > The third issue is the message for deprecated cpus or targets > which should use "target" instead of "host". We are not (yet) deprecating any targets, so we don't want to say "target". What we're deprecating are hosts. (In a cross compile setup the 'host' (machine being compiled for) isn't the 'build' (machine running the compiler), but I think if you're advanced enough to be cross-compiling you can deal with the confusing terminology.) thanks -- PMM