Skip to content

Commit 44bd33b

Browse files
committed
Test build with ucrt64 toolchain
1 parent 68ca542 commit 44bd33b

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

.github/workflows/build-svn.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ jobs:
106106
strategy:
107107
fail-fast: false
108108
matrix:
109-
WIN: [ 32, 64 ]
109+
toolchain: [ mingw32, mingw64, ucrt64 ]
110110
steps:
111111

112112
- name: Prepare git
@@ -131,7 +131,7 @@ jobs:
131131

132132
- name: Build and Check
133133
env:
134-
WIN: ${{matrix.WIN}}
134+
toolchain: ${{matrix.toolchain}}
135135
run: C:\rtools40\usr\bin\bash --login -c "$(cygpath ${env:GITHUB_WORKSPACE})/.github/workflows/rtools40-build.sh"
136136

137137
- name: Print failed tests

.github/workflows/rtools40-build.sh

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,36 @@ set -x
1010
# Absolute path to this script
1111
srcdir=$(dirname $(realpath $0))
1212

13+
# Substitute some ucrt64 specific inputs
14+
if [ "$toolchain" = "ucrt64" ]; then
15+
sed -i 's|/mingw64|/ucrt64|g' "${srcdir}/MkRules.local.in"
16+
sed -i 's|/mingw64|/ucrt64|g' "${srcdir}/create-tcltk-bundle.sh"
17+
sed -i 's|x86_64|ucrt-x86_64|g' "${srcdir}/create-tcltk-bundle.sh"
18+
fi
19+
20+
# Temp fix for older rtools40 installations
21+
if ! grep -Fxq "ucrt64" /etc/pacman.conf; then
22+
echo "[ucrt64]" >> /etc/pacman.conf
23+
echo "Server = https://cloud.r-project.org/bin/windows/Rtools/4.0/ucrt64/" >> /etc/pacman.conf
24+
echo "SigLevel = Never" >> /etc/pacman.conf
25+
fi
26+
27+
# Get architecture
28+
case ${toolchain} in
29+
mingw32)
30+
_arch=i686
31+
WIN=32
32+
;;
33+
mingw64)
34+
_arch=x86_64
35+
WIN=64
36+
;;
37+
ucrt64)
38+
_arch=ucrt-x86_64
39+
WIN=64
40+
;;
41+
esac
42+
1343
# Put pdflatex on the path (needed only for CMD check)
1444
export PATH="$PATH:/c/progra~1/git/bin:/c/progra~1/MiKTeX/miktex/bin/x64"
1545
echo "PATH: $PATH"
@@ -27,8 +57,8 @@ curl -sSL https://curl.haxx.se/ca/cacert.pem > etc/curl-ca-bundle.crt
2757
./.github/workflows/svn-info.sh
2858

2959
# Install system libs
30-
pacman -Syu --noconfirm
31-
pacman -S --needed --noconfirm mingw-w64-{i686,x86_64}-{gcc,gcc-fortran,icu,libtiff,libjpeg,libpng,pcre2,xz,bzip2,zlib,cairo,tk,curl}
60+
pacman -Sy --noconfirm
61+
pacman -S --needed --noconfirm mingw-w64-${_arch}-{gcc,gcc-fortran,icu,libtiff,libjpeg,libpng,pcre2,xz,bzip2,zlib,cairo,tk,curl}
3262

3363
# Create the TCL bundle required by tcltk package
3464
mkdir -p Tcl/{bin,bin64,lib,lib64}

0 commit comments

Comments
 (0)