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