qemu-devel
[Top][All Lists]
Advanced

[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: Yonggang Luo
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: Thu, 3 Sep 2020 01:42:14 +0800



On Thu, Sep 3, 2020 at 1:30 AM Philippe Mathieu-Daudé <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-'?
No, because of this:
```
C:\CI-Tools\msys64\mingw64\bin>dir x86_64-w64-mingw32*
 驱动器 C 中的卷是 系统
 卷的序列号是 CAD5-8E95

 C:\CI-Tools\msys64\mingw64\bin 的目录

2018/01/17  16:54            36,022 x86_64-w64-mingw32-agrep.exe
2020/09/02  05:06            67,861 x86_64-w64-mingw32-ar.exe
2020/09/02  05:06         2,872,225 x86_64-w64-mingw32-as.exe
2020/07/24  15:41         2,208,014 x86_64-w64-mingw32-c++.exe
2020/02/17  19:50           489,984 x86_64-w64-mingw32-captoinfo.exe
2020/02/17  19:50           348,160 x86_64-w64-mingw32-clear.exe
2020/06/26  17:21            64,176 x86_64-w64-mingw32-deflatehd.exe
2020/07/24  15:41         2,208,014 x86_64-w64-mingw32-g++.exe
2020/07/24  15:41         2,205,454 x86_64-w64-mingw32-gcc-10.2.0.exe
2020/07/24  15:41            67,861 x86_64-w64-mingw32-gcc-ar.exe
2020/07/24  15:41            67,861 x86_64-w64-mingw32-gcc-nm.exe
2020/07/24  15:41            67,861 x86_64-w64-mingw32-gcc-ranlib.exe
2020/07/24  15:41         2,205,454 x86_64-w64-mingw32-gcc.exe
2020/07/24  15:41         2,208,014 x86_64-w64-mingw32-gfortran.exe
2020/06/26  17:21            59,734 x86_64-w64-mingw32-inflatehd.exe
2020/02/17  19:50           462,848 x86_64-w64-mingw32-infocmp.exe
2020/02/17  19:50           489,984 x86_64-w64-mingw32-infotocap.exe
2020/09/02  05:06         2,773,229 x86_64-w64-mingw32-ld.exe
2020/09/02  05:06            67,861 x86_64-w64-mingw32-nm.exe
2020/09/02  05:06         2,367,282 x86_64-w64-mingw32-objcopy.exe
2017/03/22  14:58           669,355 x86_64-w64-mingw32-pkg-config.exe
2020/09/02  05:06            67,861 x86_64-w64-mingw32-ranlib.exe
2020/02/17  19:50           356,352 x86_64-w64-mingw32-reset.exe
2020/09/02  05:06             1,444 x86_64-w64-mingw32-sdl2-config
2020/09/02  05:06         2,367,282 x86_64-w64-mingw32-strip.exe
2020/02/17  19:50           348,160 x86_64-w64-mingw32-tabs.exe
2020/02/17  19:50           489,984 x86_64-w64-mingw32-tic.exe
2020/02/17  19:50           409,600 x86_64-w64-mingw32-toe.exe
2020/02/17  19:50           355,328 x86_64-w64-mingw32-tput.exe
2020/02/17  19:50           356,352 x86_64-w64-mingw32-tset.exe
2020/09/02  05:06         2,344,638 x86_64-w64-mingw32-windres.exe
              31 个文件     29,104,255 字节
               0 个目录 203,338,362,880 可用字节
```

> +  --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?

Comes from configure 
```

ar="${AR-${cross_prefix}ar}"
as="${AS-${cross_prefix}as}"
ccas="${CCAS-$cc}"
cpp="${CPP-$cc -E}"
objcopy="${OBJCOPY-${cross_prefix}objcopy}"
ld="${LD-${cross_prefix}ld}"
ranlib="${RANLIB-${cross_prefix}ranlib}"
nm="${NM-${cross_prefix}nm}"
strip="${STRIP-${cross_prefix}strip}"
windres="${WINDRES-${cross_prefix}windres}"
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
query_pkg_config() {
    "${pkg_config_exe}" ${QEMU_PKG_CONFIG_FLAGS} "$@"
}
pkg_config=query_pkg_config
sdl2_config="${SDL2_CONFIG-${cross_prefix}sdl2-config}"

# If the user hasn't specified ARFLAGS, default to 'rv', just as make does.
ARFLAGS="${ARFLAGS-rv}"
```
Thanks,

Phil.


--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

reply via email to

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