Message ID | 20200912224431.1428-25-luoyonggang@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | W32, W64 msys2/mingw patches | expand |
On 13/09/2020 00.44, Yonggang Luo wrote: > Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 > The https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2 need to be updated. I don't think that a request to update the wiki should be part of the commit message here. Stefan, could you please have a look at the wiki to see whether it needs an update? > There is no need of --cross-prefix, open mingw64.exe instead of msys2.exe then we don't > need the --cross-prefix, besides we using environment variable settings: > MSYS: winsymlinks:nativestrict > MSYSTEM: MINGW64 > CHERE_INVOKING: 1 > to opening mingw64 native shell. > We now running tests with make -i check to skip tests errors. > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > --- > .cirrus.yml | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 60 insertions(+) > > diff --git a/.cirrus.yml b/.cirrus.yml > index 690c6882e8..1ff9f0a72f 100644 > --- a/.cirrus.yml > +++ b/.cirrus.yml > @@ -44,3 +44,63 @@ macos_xcode_task: > --enable-werror --cc=clang || { cat config.log; exit 1; } > - gmake -j$(sysctl -n hw.ncpu) > - gmake check > + > +windows_msys2_task: > + windows_container: > + image: cirrusci/windowsservercore:cmake > + os_version: 2019 > + cpu: 8 > + memory: 8G > + env: > + MSYS: winsymlinks:nativestrict > + MSYSTEM: MINGW64 > + CHERE_INVOKING: 1 > + printenv_script: > + - C:\tools\msys64\usr\bin\bash.exe -lc 'printenv' > + install_script: > + - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz" > + - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig" > + - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz" The lines here are very long ... could you please put the stuff after the "&&" on a new line? > + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman -Sy --noconfirm" > + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --needed --noconfirm -S bash pacman pacman-mirrors msys2-runtime" > + - taskkill /F /IM gpg-agent.exe > + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su" > + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed > + base-devel > + git > + mingw-w64-x86_64-python > + mingw-w64-x86_64-python-setuptools > + mingw-w64-x86_64-toolchain > + mingw-w64-x86_64-SDL2 > + mingw-w64-x86_64-SDL2_image > + mingw-w64-x86_64-gtk3 > + mingw-w64-x86_64-glib2 > + mingw-w64-x86_64-ninja > + mingw-w64-x86_64-make > + mingw-w64-x86_64-jemalloc Installing jemalloc only makes sense if you also use --enable-jemalloc later. So I'd suggest to drop this package here. > + mingw-w64-x86_64-lzo2 > + mingw-w64-x86_64-zstd > + mingw-w64-x86_64-libjpeg-turbo > + mingw-w64-x86_64-pixman > + mingw-w64-x86_64-libgcrypt > + mingw-w64-x86_64-capstone Hmm, so in an earlier patch, you've added an update to the capstone submodule, but here you install the system-wide capstone as well? ... that does not make too much sense. Which one do you intend to use? > + mingw-w64-x86_64-libpng > + mingw-w64-x86_64-libssh > + mingw-w64-x86_64-libxml2 > + mingw-w64-x86_64-snappy > + mingw-w64-x86_64-libusb > + mingw-w64-x86_64-usbredir > + mingw-w64-x86_64-libtasn1 > + mingw-w64-x86_64-libnfs I think your NFS patch needs a review/ack from the block layer folks first, so for the time being, I'd suggest drop libnfs here first and add it later, once the nfs patch has been merged via the block layer queue. > + mingw-w64-x86_64-nettle > + mingw-w64-x86_64-cyrus-sasl > + mingw-w64-x86_64-curl > + mingw-w64-x86_64-gnutls > + mingw-w64-x86_64-zstd" > + script: > + - C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build" > + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure --python=python3 --ninja=ninja" > + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j$NUMBER_OF_PROCESSORS" > + test_script: > + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check" > + > Thomas
Am 14.09.20 um 09:38 schrieb Thomas Huth: > On 13/09/2020 00.44, Yonggang Luo wrote: >> Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 >> The https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2 need to be updated. > I don't think that a request to update the wiki should be part of the > commit message here. > Stefan, could you please have a look at the wiki to see whether it needs > an update? https://wiki.qemu.org/Hosts/W32 needs several updates. I never use native builds with msys, so cannot say whether they work at all. All I know is that cross builds with Mingw-w64 work, either on Linux (my usual environment is Debian Bullseye) or on Cygwin (very slow). https://github.com/stweil/qemu/tree/master/.github/workflows contains my build script and other required files. Stefan
diff --git a/.cirrus.yml b/.cirrus.yml index 690c6882e8..1ff9f0a72f 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -44,3 +44,63 @@ macos_xcode_task: --enable-werror --cc=clang || { cat config.log; exit 1; } - gmake -j$(sysctl -n hw.ncpu) - gmake check + +windows_msys2_task: + windows_container: + image: cirrusci/windowsservercore:cmake + os_version: 2019 + cpu: 8 + memory: 8G + env: + MSYS: winsymlinks:nativestrict + MSYSTEM: MINGW64 + CHERE_INVOKING: 1 + printenv_script: + - C:\tools\msys64\usr\bin\bash.exe -lc 'printenv' + install_script: + - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz" + - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig" + - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz" + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman -Sy --noconfirm" + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --needed --noconfirm -S bash pacman pacman-mirrors msys2-runtime" + - taskkill /F /IM gpg-agent.exe + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su" + - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed + base-devel + git + mingw-w64-x86_64-python + mingw-w64-x86_64-python-setuptools + mingw-w64-x86_64-toolchain + mingw-w64-x86_64-SDL2 + mingw-w64-x86_64-SDL2_image + mingw-w64-x86_64-gtk3 + mingw-w64-x86_64-glib2 + mingw-w64-x86_64-ninja + mingw-w64-x86_64-make + mingw-w64-x86_64-jemalloc + mingw-w64-x86_64-lzo2 + mingw-w64-x86_64-zstd + mingw-w64-x86_64-libjpeg-turbo + mingw-w64-x86_64-pixman + mingw-w64-x86_64-libgcrypt + mingw-w64-x86_64-capstone + mingw-w64-x86_64-libpng + mingw-w64-x86_64-libssh + mingw-w64-x86_64-libxml2 + mingw-w64-x86_64-snappy + mingw-w64-x86_64-libusb + mingw-w64-x86_64-usbredir + mingw-w64-x86_64-libtasn1 + mingw-w64-x86_64-libnfs + mingw-w64-x86_64-nettle + mingw-w64-x86_64-cyrus-sasl + mingw-w64-x86_64-curl + mingw-w64-x86_64-gnutls + mingw-w64-x86_64-zstd" + script: + - C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build" + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure --python=python3 --ninja=ninja" + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j$NUMBER_OF_PROCESSORS" + test_script: + - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check" +