qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 11/11] dockerfiles/debian-win64-cross: Download WHPX MinGW he


From: Yonggang Luo
Subject: Re: [PATCH 11/11] dockerfiles/debian-win64-cross: Download WHPX MinGW headers
Date: Wed, 5 Aug 2020 20:54:48 +0800

Fixes in mingw seems not possible and would broken lots of things, the better way may change all include of Windows API headers to lowercase,


On Wed, Aug 5, 2020 at 5:12 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
On Tue, Aug 04, 2020 at 08:32:18PM +0200, Stefan Weil wrote:
> Am 04.08.20 um 19:00 schrieb Thomas Huth:
>
> > To compile-test the WHPX accelerator, we need to download these system
> > headers first (they are unfortunately not part of any released and
> > packaged MinGW toolchain yet).
> >
> > Idea taken from another patch by Stefan Weil.
> >
> > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > ---
> >  tests/docker/dockerfiles/debian-win64-cross.docker | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/docker/dockerfiles/debian-win64-cross.docker b/tests/docker/dockerfiles/debian-win64-cross.docker
> > index 2fc9cfcbc6..4cc4a3f365 100644
> > --- a/tests/docker/dockerfiles/debian-win64-cross.docker
> > +++ b/tests/docker/dockerfiles/debian-win64-cross.docker
> > @@ -32,7 +32,14 @@ RUN apt-get update && \
> >          mxe-$TARGET-w64-mingw32.shared-sdl2 \
> >          mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \
> >          mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \
> > -        mxe-$TARGET-w64-mingw32.shared-zlib
> > +        mxe-$TARGET-w64-mingw32.shared-zlib \
> > +        curl && \
> > +    curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/WinHvEmulation.h \
> > +        "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvemulation.h?format=raw" && \
> > +    curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/WinHvPlatform.h \
> > +        "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvplatform.h?format=raw" && \
> > +    curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/winhvplatformdefs.h \
> > +        "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvplatformdefs.h?format=raw"
> > 
> >  # Specify the cross prefix for this image (see tests/docker/common.rc)
> >  ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32.shared-
>
>
> I expect a build failure: Mingw-w64 decided to use lower case filenames,
> and those header files include each other.
>
> We need both lower case filenames (for Mingw-w64) and camel case
> filenames (for QEMU). That's why I used additional symlinks.

Hmm, this feels wrong. Either QEMU or Mingw-w64 is broken here.

Mingw-w64 needs to match whatever upper/lower case scheme that Windows
has used for these headers. QEMU also needs to match whatever Windows
used.

Mingw originally commited the files with mixed case, and then later
renamed then to lower case, but the commit doing the rename gives
zero information about why it did that.

The microsoft docs appear to show that camel case is required:

  https://docs.microsoft.com/en-us/virtualization/api/hypervisor-platform/hypervisor-platform

so I think mingw just needs fixing to revert that broken commit
the changed to lowercase.

Regards,
Daniel
--
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

reply via email to

[Prev in Thread] Current Thread [Next in Thread]