Message ID | 20160225212725.29588.10089@loki (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 25.02.2016 um 22:27 schrieb Michael Roth: > Quoting Peter Maydell (2016-02-25 12:18:17) [...] >> I'm open to the idea of dropping old-mingw from the build rotation >> if it looks like it really is just totally hopeless, since I have >> a newer setup for it now. > > I wouldn't want to speak for dropping old mingw checks in general (cc'ing > Stefan), but for qemu-ga I think it makes sense. VSS/fsfreeze also > relies on mingw-w64 so it's really the only build system I use for > testing functionality. I cannot remember the last time when I used MinGW and don't think that it would produce a working program (wasn't there missing support for thread local storage?). Current Linux distributions include support for mingw-w64 cross compilations, but not for MinGW. And finally MinGW only supports 32 bit Windows which looses importance nowadays. Therefore dropping MinGW support and only supporting mingw-w64 would be fine for me. Regards, Stefan
On 26 February 2016 at 05:44, Stefan Weil <sw@weilnetz.de> wrote: > Am 25.02.2016 um 22:27 schrieb Michael Roth: >> Quoting Peter Maydell (2016-02-25 12:18:17) > [...] >>> I'm open to the idea of dropping old-mingw from the build rotation >>> if it looks like it really is just totally hopeless, since I have >>> a newer setup for it now. >> >> I wouldn't want to speak for dropping old mingw checks in general (cc'ing >> Stefan), but for qemu-ga I think it makes sense. VSS/fsfreeze also >> relies on mingw-w64 so it's really the only build system I use for >> testing functionality. > > I cannot remember the last time when I used MinGW and don't think > that it would produce a working program (wasn't there missing support > for thread local storage?). Current Linux distributions include > support for mingw-w64 cross compilations, but not for MinGW. > And finally MinGW only supports 32 bit Windows which looses > importance nowadays. > > Therefore dropping MinGW support and only supporting mingw-w64 would > be fine for me. OK, I have dropped my ancient mingw w32 setup from the compile testing list, so this pull req is ok to apply as-is. (This will also mean we no longer get annoying "failed to build" issues for other gcc-4.2-isms like duplicate typedefs, missing U or ULL suffixes, etc. Which is good I guess :-)) thanks -- PMM
On 26 February 2016 at 11:39, Peter Maydell <peter.maydell@linaro.org> wrote: > OK, I have dropped my ancient mingw w32 setup from the compile > testing list, so this pull req is ok to apply as-is. ...and I have done so, which I meant to say. thanks -- PMM
diff --git a/configure b/configure index 0c0472a..f4f1dc1 100755 --- a/configure +++ b/configure @@ -238,6 +238,7 @@ strip_opt="yes" tcg_interpreter="no" bigendian="no" mingw32="no" +mingw_w64="no" gcov="no" gcov_tool="gcov" EXESUF="" @@ -712,6 +713,18 @@ if test "$mingw32" = "yes" ; then local_statedir= confsuffix="" libs_qga="-lws2_32 -lwinmm -lpowrprof -liphlpapi -lnetapi32 $libs_qga" + cat > $TMPC << EOF +#include <_mingw.h> +#if !defined(__MINGW64_VERSION_MAJOR) +#error +#endif +int main(void) { return 0; } +EOF + # not to be confused with a check for 64-bit, this is testing specifically + # for mingw-w64 compiler, which has a larger featureset than standard mingw + if compile_prog "" "" ; then + mingw_w64=yes + fi fi werror="" @@ -4529,12 +4542,17 @@ fi # Probe for guest agent support/options if [ "$guest_agent" != "no" ]; then - if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" -o "$mingw32" = "yes" ] ; then + if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" -o "$mingw_w64" = "yes" ] ; then tools="qemu-ga $tools" guest_agent=yes elif [ "$guest_agent" != yes ]; then guest_agent=no else + # if theydoing a mingw check passed but not mingw_w64, inform them of what's missing to avoid + # confusion about actual dependencies + if [ "$mingw32" = "yes" ]; then + error_exit "Guest agent requires mingw-w64 (32 or 64-bit) for win32 builds, but only mingw detected." + fi error_exit "Guest agent is not supported on this platform" fi fi