Skip to content

Commit f02aa96

Browse files
authored
Update buildbinaryen.yml.
1 parent 40b08ba commit f02aa96

1 file changed

Lines changed: 56 additions & 5 deletions

File tree

.github/workflows/buildbinaryen.yml

Lines changed: 56 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,62 @@ jobs:
88
strategy:
99
matrix:
1010
include:
11+
# Windows x64
1112
- os: windows-latest
1213
arch: x64
13-
cmake-args: -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-W0 -m64 -static" -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
14+
cmake-args: >
15+
-G Ninja
16+
-DCMAKE_C_COMPILER=clang
17+
-DCMAKE_CXX_COMPILER=clang++
18+
-DCMAKE_C_FLAGS="-target x86_64-windows-gnu -W0 -m64"
19+
-DCMAKE_CXX_FLAGS="-target x86_64-windows-gnu -W0 -m64"
20+
-DBUILD_STATIC_LIB=OFF
21+
-DBUILD_SHARED_LIBS=ON
22+
-DBUILD_TOOLS=OFF
23+
-DBUILD_TESTS=OFF
1424
runtime: win-x64
25+
26+
# Windows x86
1527
- os: windows-latest
1628
arch: x86
17-
cmake-args: -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-W0 -m32 -static" -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
29+
cmake-args: >
30+
-G Ninja
31+
-DCMAKE_C_COMPILER=clang
32+
-DCMAKE_CXX_COMPILER=clang++
33+
-DCMAKE_C_FLAGS="-target i686-windows-gnu -W0 -m32"
34+
-DCMAKE_CXX_FLAGS="-target i686-windows-gnu -W0 -m32"
35+
-DBUILD_STATIC_LIB=OFF
36+
-DBUILD_SHARED_LIBS=ON
37+
-DBUILD_TOOLS=OFF
38+
-DBUILD_TESTS=OFF
1839
runtime: win-x86
40+
41+
# Linux x64
1942
- os: ubuntu-latest
2043
arch: x64
21-
cmake-args: -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS="-m64 -w -static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="-m64 -w -static-libgcc -static-libstdc++" -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
44+
cmake-args: >
45+
-G Ninja
46+
-DCMAKE_C_COMPILER=clang
47+
-DCMAKE_CXX_COMPILER=clang++
48+
-DCMAKE_C_FLAGS="-m64 -w -static-libgcc -static-libstdc++"
49+
-DCMAKE_CXX_FLAGS="-m64 -w -static-libgcc -static-libstdc++"
50+
-DBUILD_SHARED_LIBS=ON
51+
-DBUILD_TOOLS=OFF
52+
-DBUILD_TESTS=OFF
2253
runtime: linux-x64
54+
55+
# Linux x86
2356
- os: ubuntu-latest
2457
arch: x86
25-
cmake-args: -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS="-m32 -w -static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="-m32 -w -static-libgcc -static-libstdc++" -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
58+
cmake-args: >
59+
-G Ninja
60+
-DCMAKE_C_COMPILER=clang
61+
-DCMAKE_CXX_COMPILER=clang++
62+
-DCMAKE_C_FLAGS="-m32 -w -static-libgcc -static-libstdc++"
63+
-DCMAKE_CXX_FLAGS="-m32 -w -static-libgcc -static-libstdc++"
64+
-DBUILD_SHARED_LIBS=ON
65+
-DBUILD_TOOLS=OFF
66+
-DBUILD_TESTS=OFF
2667
runtime: linux-x86
2768

2869
runs-on: ${{ matrix.os }}
@@ -32,6 +73,7 @@ jobs:
3273
with:
3374
submodules: recursive
3475

76+
# Install dependencies
3577
- name: Install build deps (Linux)
3678
if: runner.os == 'Linux'
3779
run: |
@@ -40,11 +82,18 @@ jobs:
4082
4183
- name: Install build deps (Windows)
4284
if: runner.os == 'Windows'
43-
run: choco install llvm ninja cmake --no-progress --yes
85+
run: choco install llvm ninja cmake mingw --no-progress --yes
86+
87+
# Limit Binaryen to 1 core to prevent thread hang on MinGW
88+
- name: Limit Binaryen to 1 core
89+
if: runner.os == 'Windows'
90+
run: echo "BINARYEN_CORES=1" >> $GITHUB_ENV
4491

92+
# Configure
4593
- name: Configure
4694
run: cmake -S binaryen -B binaryen/build ${{ matrix.cmake-args }}
4795

96+
# Build
4897
- name: Build (Linux)
4998
if: runner.os == 'Linux'
5099
run: cmake --build binaryen/build -- -j$(nproc)
@@ -54,12 +103,14 @@ jobs:
54103
run: cmake --build binaryen/build
55104
shell: pwsh
56105

106+
# Copy artifacts
57107
- name: Copy to NuGet runtime folder
58108
run: |
59109
mkdir -p package/runtimes/${{ matrix.runtime }}/native
60110
cp -r binaryen/build/lib/* package/runtimes/${{ matrix.runtime }}/native/
61111
shell: bash
62112

113+
# Upload artifacts
63114
- name: Upload artifact
64115
uses: actions/upload-artifact@v4
65116
with:

0 commit comments

Comments
 (0)