[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://githu
From: |
Mark Cave-Ayland |
Subject: |
Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus |
Date: |
Wed, 2 Sep 2020 20:00:05 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
On 02/09/2020 19:56, 罗勇刚(Yonggang Luo) wrote:
> On Thu, Sep 3, 2020 at 2:55 AM Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk
> <mailto:mark.cave-ayland@ilande.co.uk>> wrote:
>
> On 02/09/2020 18:50, 罗勇刚(Yonggang Luo) wrote:
>
> > On Thu, Sep 3, 2020 at 1:30 AM Philippe Mathieu-Daudé <f4bug@amsat.org
> <mailto:f4bug@amsat.org>
> > <mailto:f4bug@amsat.org <mailto:f4bug@amsat.org>>> wrote:
> >
> > On 9/2/20 7:00 PM, Yonggang Luo wrote:
> > > ---
> > > .cirrus.yml | 23 ++++++++++++++++
> > > scripts/ci/windows/msys2_build.sh | 35 ++++++++++++++++++++++++
> > > scripts/ci/windows/msys2_install.sh | 41
> +++++++++++++++++++++++++++++
> > > 3 files changed, 99 insertions(+)
> > > create mode 100644 scripts/ci/windows/msys2_build.sh
> > > create mode 100644 scripts/ci/windows/msys2_install.sh
> > >
> > > diff --git a/.cirrus.yml b/.cirrus.yml
> > > index f287d23c5b..d377c28412 100644
> > > --- a/.cirrus.yml
> > > +++ b/.cirrus.yml
> > > @@ -40,3 +40,26 @@ macos_xcode_task:
> > > - ../configure --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 "sh
> > scripts/ci/windows/msys2_install.sh"
> > > + script:
> > > + C:\tools\msys64\usr\bin\bash.exe -lc "sh
> scripts/ci/windows/msys2_build.sh"
> > > diff --git a/scripts/ci/windows/msys2_build.sh
> b/scripts/ci/windows/msys2_build.sh
> > > new file mode 100644
> > > index 0000000000..0363ef402a
> > > --- /dev/null
> > > +++ b/scripts/ci/windows/msys2_build.sh
> > > @@ -0,0 +1,35 @@
> > > +export QEMU_DIR=$PWD
> > > +mkdir ../qemu-build
> > > +cd ../qemu-build
> > > +$QEMU_DIR/configure \
> > > + --python=python3 \
> > > + --cross-prefix=x86_64-w64-mingw32- \
> >
> > Isn't the prefix 'x86_64-w64-mingw32-gcc-'?
> >
> > > + --enable-gtk --enable-sdl \
> > > + --enable-capstone=git \
> > > + --enable-stack-protector \
> > > + --ninja=ninja \
> > > + --enable-gnutls \
> > > + --enable-nettle \
> > > + --enable-vnc \
> > > + --enable-vnc-sasl \
> > > + --enable-vnc-jpeg \
> > > + --enable-vnc-png \
> > > + --enable-membarrier \
> > > + --enable-slirp=git \
> > > + --disable-kvm \
> > > + --enable-hax \
> > > + --enable-whpx \
> > > + --disable-spice \
> > > + --enable-lzo \
> > > + --enable-snappy \
> > > + --enable-bzip2 \
> > > + --enable-vdi \
> > > + --enable-qcow1 \
> > > + --enable-tools \
> > > + --enable-libusb \
> > > + --enable-usb-redir \
> > > + --disable-libnfs \
> > > + --enable-libssh \
> > > + --disable-pie
> > > +make -j$NUMBER_OF_PROCESSORS
> > > +# make -j$NUMBER_OF_PROCESSORS check
> > > diff --git a/scripts/ci/windows/msys2_install.sh
> > b/scripts/ci/windows/msys2_install.sh
> > > new file mode 100644
> > > index 0000000000..3a5392cd99
> > > --- /dev/null
> > > +++ b/scripts/ci/windows/msys2_install.sh
> > > @@ -0,0 +1,41 @@
> > > +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-ninja \
> > > +mingw-w64-x86_64-make \
> > > +mingw-w64-x86_64-lzo2 \
> > > +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 \
> > > +mingw-w64-x86_64-glib2
> > > +
> > > +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 x86_64-w64-mingw32-gcc-nm.exe x86_64-w64-mingw32-nm.exe
> > > +cp windres.exe x86_64-w64-mingw32-windres.exe
> > > +cp strip.exe x86_64-w64-mingw32-strip.exe
> > > +cp objcopy.exe x86_64-w64-mingw32-objcopy.exe
> > > +cp ld x86_64-w64-mingw32-ld.exe
> > > +cp as x86_64-w64-mingw32-as.exe
> > > +cp sdl2-config x86_64-w64-mingw32-sdl2-config
> >
> > Why is that needed?
> >
> > Thanks,
> >
> > Phil.
> >
> > Hi, I am looking for suggestion for building with msys2, this is comes
> from
> wiki, if
> > you have better idea, then tell me.
> >
> > https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2
>
> FWIW I did a clean install of MSYS2 after the meson changes were merged
> and it seems
> to make things a bit simpler for Windows. Once Paolo's latest PR has been
> applied you
> should be able to do the following (from my notes for PPC builds):
>
> # As per https://www.msys2.org/
> pacman -Syu
> pacman -Su
>
> # QEMU build environment
> pacman -S \
> base-devel \
> mingw-w64-x86_64-toolchain \
> git \
> mingw64/mingw-w64-x86_64-python3 \
> mingw64/mingw-w64-x86_64-python-setuptools \
> mingw64/mingw-w64-x86_64-ninja
>
> # Basic GTK/SDL build
> pacman -S \
> mingw-w64-x86_64-glib2 \
> mingw64/mingw-w64-x86_64-gtk3 \
> mingw64/mingw-w64-x86_64-SDL2
>
> # Build
> ./configure --target-list="ppc-softmmu" --ninja=ninja
> make -j6
>
> That should be enough to get a basic working Windows build with GTK/SDL2
> UI, although
> I see you've added a lot more options.
>
> I am trying to enable all possible feature on the CI for monitoring the
> regression,
> at least from the compiling points of view
Yes indeed, it looks like a very comprehensive build :) Note that with the
meson
build I no longer have to copy/rename toolchain exes compared to your
.cirrus.yml
file so maybe that issue is now fixed?
ATB,
Mark.
- Re: [PATCH 1/6] configure: fixes dtc not cloned when running msys2 CI, (continued)
- [PATCH 2/6] meson: Convert undefsym.sh to undefsym.py, Yonggang Luo, 2020/09/02
- [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Yonggang Luo, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Yonggang Luo, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Mark Cave-Ayland, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Yonggang Luo, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus,
Mark Cave-Ayland <=
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Yonggang Luo, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Mark Cave-Ayland, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Yonggang Luo, 2020/09/02
- Re: [PATCH 3/6] ci: Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699 Enable msys2 ci in cirrus, Mark Cave-Ayland, 2020/09/02
[PATCH 5/6] tests: handling signal on win32 properly, Yonggang Luo, 2020/09/02
[PATCH 4/6] tcg: Fixes dup_const link error, Yonggang Luo, 2020/09/02