On Sat, Sep 11, 2021 at 8:29 AM Helge Konetzka <h...@zapateado.de> wrote:

> Am 10.09.21 um 17:44 schrieb Paolo Bonzini:
> > On 25/08/21 18:43, Helge Konetzka wrote:
> >> Furthermore I would like to propose to change the instructions for
> >> Native builds with MSYS2 on Wiki Windows page.
> >>
> >> Please remove the section which copies system binaries to match the
> >> expected file names!
> >>
> >> Instead define variables for configure (gcc-ar and gcc-ranlib are
> >> existing copies of x86_64-w64-mingw32-gcc-ar and
> >> x86_64-w64-mingw32-gcc-ranlib) and add strip to enable make install:
> >>
> >> AR=gcc-ar NM=nm OBJCOPY=objcopy RANLIB=gcc-ranlib WINDRES=windres
> >> STRIP=strip \
> >> ./configure --cross-prefix=x86_64-w64-mingw32- --enable-gtk --enable-sdl
> >
> > Do you even need anything but "./configure"? (possibly AR=gcc-ar NM=nm
> > at the beginning)?
>
> Sorry for being indistinct!
>
> My intention was to put "AR=gcc-ar NM=nm OBJCOPY=objcopy
> RANLIB=gcc-ranlib WINDRES=windres STRIP=strip" in front of "./configure"
> (see the '\' after STRIP=strip) instead of copying binaries:
>
> diff -Naur qemu.org.orig/Hosts/W32 qemu.org/Hosts/W32
> --- qemu.org.orig/Hosts/W32     2021-09-11 08:27:01.198715675 +0200
> +++ qemu.org/Hosts/W32  2021-09-11 08:28:15.853605118 +0200
> @@ -232,14 +232,6 @@
>       Close the MSYS2 console.
>       Start mingw64.exe.
>
> -cd /mingw64/bin
> -cp x86_64-w64-mingw32-gcc-ar.exe x86_64-w64-mingw32-ar.exe
> -cp x86_64-w64-mingw32-gcc-ranlib.exe x86_64-w64-mingw32-ranlib.exe
> -cp windres.exe x86_64-w64-mingw32-windres.exe
> -cp nm.exe x86_64-w64-mingw32-nm.exe
> -cp objcopy.exe x86_64-w64-mingw32-objcopy.exe
> -cd ~
> -
>       Download the QEMU source code:
>
>   git clone https://www.github.com/qemu/qemu
> @@ -247,6 +239,7 @@
>       Finally build QEMU with:
>
>   cd qemu
> +AR=gcc-ar NM=nm OBJCOPY=objcopy RANLIB=gcc-ranlib WINDRES=windres
> STRIP=strip \
>   ./configure --cross-prefix=x86_64-w64-mingw32- --enable-gtk --enable-sdl
>   make
>
>
Hi,

I wrote those instructions as I obviously could not find a better way to
get Qemu to cross-compile using MSYS2 in Windows.
When you look at configure, you see that only adding the cross-prefix will
not find the MSYS equivalents of some tools:

ar="${AR-${cross_prefix}ar}"
looks for x86_64-w64-mingw32-ar.exe and not (as it is named in MSYS2)
x86_64-w64-mingw32-gcc-ar.exe

Perhaps it would be better to fix configure for the MSYS2 case so the
flags or the renaming are not required?

Best,
Howard

Reply via email to