Skip to content

Commit 916a5c8

Browse files
committed
Update cross-compilation toolchain to the new upstream packages (#16)
1 parent 3cb0c8b commit 916a5c8

File tree

6 files changed

+84
-77
lines changed

6 files changed

+84
-77
lines changed

.github/scripts/pthread-headers-hack-after.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e # exit on error
44
set -x # echo on
55
set -o pipefail # fail of any command in pipeline is an error
66

7-
pacman -R --noconfirm mingw-w64-cross-winpthreads || true
7+
pacman -R --noconfirm mingw-w64-cross-mingw64-winpthreads || true
88
rm -rf /opt/aarch64-w64-mingw32/include/pthread_signal.h
99
rm -rf /opt/aarch64-w64-mingw32/include/pthread_unistd.h
1010
rm -rf /opt/aarch64-w64-mingw32/include/pthread_time.h

.github/scripts/pthread-headers-hack-before.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e # exit on error
44
set -x # echo on
55
set -o pipefail # fail of any command in pipeline is an error
66

7-
pacman -S --noconfirm mingw-w64-cross-winpthreads
7+
pacman -S --noconfirm mingw-w64-cross-mingw64-winpthreads
88
cp /opt/x86_64-w64-mingw32/include/pthread_signal.h /opt/aarch64-w64-mingw32/include/
99
cp /opt/x86_64-w64-mingw32/include/pthread_unistd.h /opt/aarch64-w64-mingw32/include/
1010
cp /opt/x86_64-w64-mingw32/include/pthread_time.h /opt/aarch64-w64-mingw32/include/

.github/workflows/build-package.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ jobs:
3838
- uses: msys2/setup-msys2@v2
3939
with:
4040
msystem: ${{ contains(inputs.packages_repository, 'MINGW') && 'MINGW64' || 'MSYS' }}
41+
update: true
42+
cache: true
4143

4244
- name: Checkout repository
4345
uses: actions/checkout@v4
@@ -62,8 +64,8 @@ jobs:
6264
run: |
6365
`cygpath "${{ github.workspace }}"`/.github/scripts/install-artifacts.sh
6466
65-
- name: Copy missing headers for mingw-w64-cross-crt
66-
if: ${{ inputs.package_name == 'mingw-w64-cross-crt' }}
67+
- name: Copy missing headers for mingw-w64-cross-mingwarm64-crt
68+
if: ${{ inputs.package_name == 'mingw-w64-cross-mingwarm64-crt' }}
6769
run: |
6870
`cygpath "${{ github.workspace }}"`/.github/scripts/pthread-headers-hack-before.sh
6971

.github/workflows/check-repository.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ jobs:
2727
2828
- name: Install toolchain
2929
run: |
30-
pacman -S mingw-w64-cross-gcc --noconfirm
30+
pacman -S mingw-w64-cross-mingwarm64-gcc --noconfirm
31+
pacman -S mingw-w64-aarch64-cc --noconfirm
3132
3233
- name: Build hello-world.exe
3334
run: |

.github/workflows/mingw-cross-toolchain.yml

Lines changed: 51 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -19,100 +19,103 @@ on:
1919
value: ${{ toJson(jobs) }}
2020

2121
jobs:
22-
mingw-w64-cross-headers:
22+
mingw-w64-cross-mingwarm64-headers:
2323
uses: ./.github/workflows/build-package.yml
2424
with:
25-
package_name: mingw-w64-cross-headers
25+
package_name: mingw-w64-cross-mingwarm64-headers
2626
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
2727
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
2828

29-
mingw-w64-cross-binutils:
30-
needs: mingw-w64-cross-headers
29+
mingw-w64-cross-mingwarm64-binutils:
30+
needs: mingw-w64-cross-mingwarm64-headers
3131
uses: ./.github/workflows/build-package.yml
3232
with:
33-
package_name: mingw-w64-cross-binutils
33+
package_name: mingw-w64-cross-mingwarm64-binutils
3434
needs: ${{ toJson(needs) }}
3535
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
3636
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
3737

38-
mingw-w64-cross-gcc-stage1:
39-
needs: [mingw-w64-cross-headers, mingw-w64-cross-binutils]
38+
mingw-w64-cross-mingwarm64-gcc-stage1:
39+
needs: [
40+
mingw-w64-cross-mingwarm64-headers,
41+
mingw-w64-cross-mingwarm64-binutils
42+
]
4043
uses: ./.github/workflows/build-package.yml
4144
with:
42-
package_name: mingw-w64-cross-gcc-stage1
45+
package_name: mingw-w64-cross-mingwarm64-gcc-stage1
4346
needs: ${{ toJson(needs) }}
4447
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
4548
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
4649

47-
mingw-w64-cross-windows-default-manifest:
48-
needs: [mingw-w64-cross-binutils, mingw-w64-cross-gcc-stage1]
50+
mingw-w64-cross-mingwarm64-windows-default-manifest:
51+
needs: [
52+
mingw-w64-cross-mingwarm64-binutils,
53+
mingw-w64-cross-mingwarm64-gcc-stage1
54+
]
4955
uses: ./.github/workflows/build-package.yml
5056
with:
51-
package_name: mingw-w64-cross-windows-default-manifest
57+
package_name: mingw-w64-cross-mingwarm64-windows-default-manifest
5258
needs: ${{ toJson(needs) }}
5359
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
5460
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
5561

56-
mingw-w64-cross-crt:
57-
needs:
58-
[
59-
mingw-w64-cross-headers,
60-
mingw-w64-cross-binutils,
61-
mingw-w64-cross-gcc-stage1
62-
]
62+
mingw-w64-cross-mingwarm64-crt:
63+
needs: [
64+
mingw-w64-cross-mingwarm64-headers,
65+
mingw-w64-cross-mingwarm64-binutils,
66+
mingw-w64-cross-mingwarm64-gcc-stage1
67+
]
6368
uses: ./.github/workflows/build-package.yml
6469
with:
65-
package_name: mingw-w64-cross-crt
70+
package_name: mingw-w64-cross-mingwarm64-crt
6671
needs: ${{ toJson(needs) }}
67-
dependencies: mingw-w64-cross-winpthreads
72+
dependencies: mingw-w64-cross-mingw64-winpthreads
6873
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
6974
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
7075

71-
mingw-w64-cross-winpthreads:
72-
needs:
73-
[
74-
mingw-w64-cross-headers,
75-
mingw-w64-cross-binutils,
76-
mingw-w64-cross-gcc-stage1,
77-
mingw-w64-cross-crt
78-
]
76+
mingw-w64-cross-mingwarm64-winpthreads:
77+
needs: [
78+
mingw-w64-cross-mingwarm64-headers,
79+
mingw-w64-cross-mingwarm64-binutils,
80+
mingw-w64-cross-mingwarm64-gcc-stage1,
81+
mingw-w64-cross-mingwarm64-crt
82+
]
7983
uses: ./.github/workflows/build-package.yml
8084
with:
81-
package_name: mingw-w64-cross-winpthreads
85+
package_name: mingw-w64-cross-mingwarm64-winpthreads
8286
needs: ${{ toJson(needs) }}
8387
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
8488
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
8589

86-
mingw-w64-cross-gcc:
87-
needs:
88-
[
89-
mingw-w64-cross-headers,
90-
mingw-w64-cross-binutils,
91-
mingw-w64-cross-gcc-stage1,
92-
mingw-w64-cross-windows-default-manifest,
93-
mingw-w64-cross-crt,
94-
mingw-w64-cross-winpthreads
95-
]
90+
mingw-w64-cross-mingwarm64-gcc:
91+
needs: [
92+
mingw-w64-cross-mingwarm64-headers,
93+
mingw-w64-cross-mingwarm64-binutils,
94+
mingw-w64-cross-mingwarm64-gcc-stage1,
95+
mingw-w64-cross-mingwarm64-windows-default-manifest,
96+
mingw-w64-cross-mingwarm64-crt,
97+
mingw-w64-cross-mingwarm64-winpthreads
98+
]
9699
uses: ./.github/workflows/build-package.yml
97100
with:
98-
package_name: mingw-w64-cross-gcc
101+
package_name: mingw-w64-cross-mingwarm64-gcc
99102
needs: ${{ toJson(needs) }}
100103
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
101104
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}
102105

103-
mingw-w64-cross-zlib:
106+
mingw-w64-cross-mingwarm64-zlib:
104107
needs: [
105-
mingw-w64-cross-headers,
106-
mingw-w64-cross-binutils,
107-
mingw-w64-cross-windows-default-manifest,
108-
mingw-w64-cross-crt,
109-
mingw-w64-cross-winpthreads,
110-
mingw-w64-cross-gcc
108+
mingw-w64-cross-mingwarm64-headers,
109+
mingw-w64-cross-mingwarm64-binutils,
110+
mingw-w64-cross-mingwarm64-windows-default-manifest,
111+
mingw-w64-cross-mingwarm64-crt,
112+
mingw-w64-cross-mingwarm64-winpthreads,
113+
mingw-w64-cross-mingwarm64-gcc
111114
]
112115

113116
uses: ./.github/workflows/build-package.yml
114117
with:
115-
package_name: mingw-w64-cross-zlib
118+
package_name: mingw-w64-cross-mingwarm64-zlib
116119
needs: ${{ toJson(needs) }}
117120
packages_repository: Windows-on-ARM-Experiments/MSYS2-packages
118121
packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }}

build.sh

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,64 +10,65 @@ if [ "$CLEAN_BUILD" = 1 ] ; then
1010
MAKEPKG_OPTIONS="$MAKEPKG_OPTIONS --cleanbuild"
1111
fi
1212

13-
pacman -R --noconfirm mingw-w64-cross-gcc || true
14-
pacman -R --noconfirm mingw-w64-cross-winpthreads || true
15-
pacman -R --noconfirm mingw-w64-cross-crt || true
16-
pacman -R --noconfirm mingw-w64-cross-windows-default-manifest || true
17-
pacman -R --noconfirm mingw-w64-cross-gcc-stage1 || true
18-
pacman -R --noconfirm mingw-w64-cross-binutils || true
19-
pacman -R --noconfirm mingw-w64-cross-headers || true
13+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-zlib || true
14+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-gcc || true
15+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-winpthreads || true
16+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-crt || true
17+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-windows-default-manifest || true
18+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-gcc-stage1 || true
19+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-binutils || true
20+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-headers || true
2021

2122
pacman -S --noconfirm base-devel
2223

23-
echo "::group::Build mingw-w64-cross-headers"
24-
pushd ../MSYS2-packages/mingw-w64-cross-headers
24+
echo "::group::Build mingw-w64-cross-mingwarm64-headers"
25+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-headers
2526
makepkg $MAKEPKG_OPTIONS
2627
popd
2728
echo "::endgroup::"
2829

29-
echo "::group::Build mingw-w64-cross-binutils"
30-
pushd ../MSYS2-packages/mingw-w64-cross-binutils
30+
echo "::group::Build mingw-w64-cross-mingwarm64-binutils"
31+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-binutils
3132
makepkg $MAKEPKG_OPTIONS
3233
popd
3334
echo "::endgroup::"
3435

35-
echo "::group::Build mingw-w64-cross-gcc-stage1"
36-
pushd ../MSYS2-packages/mingw-w64-cross-gcc-stage1
36+
echo "::group::Build mingw-w64-cross-mingwarm64-gcc-stage1"
37+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-gcc-stage1
3738
makepkg $MAKEPKG_OPTIONS
3839
popd
3940
echo "::endgroup::"
4041

41-
echo "::group::Build mingw-w64-cross-windows-default-manifest"
42-
pushd ../MSYS2-packages/mingw-w64-cross-windows-default-manifest
42+
echo "::group::Build mingw-w64-cross-mingwarm64-windows-default-manifest"
43+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-windows-default-manifest
4344
makepkg $MAKEPKG_OPTIONS
4445
popd
4546
echo "::endgroup::"
4647

47-
echo "::group::Build mingw-w64-cross-crt"
48+
echo "::group::Build mingw-w64-cross-mingwarm64-crt"
4849
.github/scripts/pthread-headers-hack-before.sh
49-
pushd ../MSYS2-packages/mingw-w64-cross-crt
50+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-crt
5051
makepkg $MAKEPKG_OPTIONS
5152
popd
5253
.github/scripts/pthread-headers-hack-after.sh
5354
echo "::endgroup::"
5455

55-
echo "::group::Build mingw-w64-cross-winpthreads"
56-
pushd ../MSYS2-packages/mingw-w64-cross-winpthreads
56+
echo "::group::Build mingw-w64-cross-mingwarm64-winpthreads"
57+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-winpthreads
5758
makepkg $MAKEPKG_OPTIONS
5859
popd
5960
echo "::endgroup::"
6061

61-
echo "::group::Build mingw-w64-cross-gcc"
62-
pushd ../MSYS2-packages/mingw-w64-cross-gcc
62+
echo "::group::Build mingw-w64-cross-mingwarm64-gcc"
63+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-gcc
6364
makepkg ${MAKEPKG_OPTIONS//--install/}
64-
pacman -R --noconfirm mingw-w64-cross-gcc-stage1 || true
65+
pacman -R --noconfirm mingw-w64-cross-mingwarm64-gcc-stage1 || true
6566
pacman -U --noconfirm *.pkg.tar.zst
6667
popd
6768
echo "::endgroup::"
6869

69-
echo "::group::Build mingw-w64-cross-zlib"
70-
pushd ../MSYS2-packages/mingw-w64-cross-zlib
70+
echo "::group::Build mingw-w64-cross-mingwarm64-zlib"
71+
pushd ../MSYS2-packages/mingw-w64-cross-mingwarm64-zlib
7172
makepkg $MAKEPKG_OPTIONS --skippgpcheck
7273
popd
7374
echo "::endgroup::"

0 commit comments

Comments
 (0)