Skip to content

Commit ef68fb0

Browse files
committed
Update build and test script with macOS updates
Signed-off-by: HyukWoo Park <[email protected]>
1 parent e9df10b commit ef68fb0

File tree

2 files changed

+50
-23
lines changed

2 files changed

+50
-23
lines changed

.github/workflows/actions.yml

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
run: tools/check_tidy.py
2626

2727
build-on-macos:
28-
runs-on: macos-latest
28+
runs-on: macos-13
2929
steps:
3030
- uses: actions/checkout@v4
3131
with:
@@ -36,17 +36,41 @@ jobs:
3636
brew install cmake ninja pkg-config
3737
- name: Build x64
3838
env:
39-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=darwin -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
39+
BUILD_OPTIONS: -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
4040
run: |
41-
cmake -H. -Bout/mac/x64 $BUILD_OPTIONS
42-
ninja -Cout/mac/x64
41+
cmake -H. -Bout/mac $BUILD_OPTIONS
42+
ninja -Cout/mac
4343
#- name: Run Tests
4444
#run: |
4545
#FIXME try-catch is unstable in macos build
4646
#remove 2 test files due to stack overflow occurred by recursion calls in debug mode build by apple-clang
47-
#rm $GITHUB_WORKSPACE/test/wasm-spec/core/call.wast
48-
#rm $GITHUB_WORKSPACE/test/wasm-spec/core/call_indirect.wast
49-
#$RUNNER --engine="$GITHUB_WORKSPACE/out/mac/x64/walrus"
47+
rm $GITHUB_WORKSPACE/test/wasm-spec/core/call.wast
48+
rm $GITHUB_WORKSPACE/test/wasm-spec/core/call_indirect.wast
49+
$RUNNER --engine="$GITHUB_WORKSPACE/out/mac/walrus"
50+
51+
build-on-macos-arm64:
52+
runs-on: macos-latest
53+
steps:
54+
- uses: actions/checkout@v4
55+
with:
56+
submodules: true
57+
- name: Install Packages
58+
run: |
59+
brew update
60+
brew install cmake ninja pkg-config
61+
- name: Build arm64
62+
env:
63+
BUILD_OPTIONS: -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
64+
run: |
65+
cmake -H. -Bout/mac $BUILD_OPTIONS
66+
ninja -Cout/mac
67+
#- name: Run Tests
68+
#run: |
69+
#FIXME try-catch is unstable in macos build
70+
#remove 2 test files due to stack overflow occurred by recursion calls in debug mode build by apple-clang
71+
rm $GITHUB_WORKSPACE/test/wasm-spec/core/call.wast
72+
rm $GITHUB_WORKSPACE/test/wasm-spec/core/call_indirect.wast
73+
$RUNNER --engine="$GITHUB_WORKSPACE/out/mac/walrus"
5074

5175
build-by-clang:
5276
runs-on: ubuntu-latest
@@ -60,25 +84,25 @@ jobs:
6084
sudo apt install -y ninja-build gcc-multilib g++-multilib
6185
- name: Build x86
6286
env:
63-
BUILD_OPTIONS: -DWALRUS_ARCH=x86 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
87+
BUILD_OPTIONS: -DWALRUS_ARCH=x86 -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
6488
run: |
6589
CC=clang CXX=clang++ cmake -H. -Bout/clang/x86 $BUILD_OPTIONS
6690
ninja -Cout/clang/x86
6791
- name: Build x64
6892
env:
69-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
93+
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
7094
run: |
7195
CC=clang CXX=clang++ cmake -H. -Bout/clang/x64 $BUILD_OPTIONS
7296
ninja -Cout/clang/x64
7397
- name: Pure Build x86
7498
env:
75-
BUILD_OPTIONS: -DWALRUS_ARCH=x86 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
99+
BUILD_OPTIONS: -DWALRUS_ARCH=x86 -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
76100
run: |
77101
CC=clang CXX=clang++ cmake -H. -Bout/pure/x86 $BUILD_OPTIONS
78102
ninja -Cout/pure/x86
79103
- name: Pure Build x64
80104
env:
81-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
105+
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
82106
run: |
83107
CC=clang CXX=clang++ cmake -H. -Bout/pure/x64 $BUILD_OPTIONS
84108
ninja -Cout/pure/x64
@@ -104,7 +128,7 @@ jobs:
104128
sudo apt install -y ninja-build gcc-multilib g++-multilib
105129
- name: Build x86
106130
env:
107-
BUILD_OPTIONS: -DWALRUS_ARCH=x86 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
131+
BUILD_OPTIONS: -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
108132
run: |
109133
cmake -H. -Bout/linux/x86 $BUILD_OPTIONS
110134
ninja -Cout/linux/x86
@@ -125,7 +149,7 @@ jobs:
125149
sudo apt install -y ninja-build gcc-multilib g++-multilib
126150
- name: Build x64
127151
env:
128-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
152+
BUILD_OPTIONS: -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
129153
run: |
130154
cmake -H. -Bout/linux/x64 $BUILD_OPTIONS
131155
ninja -Cout/linux/x64
@@ -146,7 +170,7 @@ jobs:
146170
sudo apt install -y ninja-build gcc-multilib g++-multilib
147171
- name: Build x64
148172
env:
149-
BUILD_OPTIONS: -DWALRUS_JITPERF=1 -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
173+
BUILD_OPTIONS: -DWALRUS_JITPERF=1 -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
150174
run: |
151175
cmake -H. -Bout/linux/x64 $BUILD_OPTIONS
152176
ninja -Cout/linux/x64
@@ -171,8 +195,8 @@ jobs:
171195
apt-get update
172196
apt-get install -y cmake build-essential ninja-build pkg-config python3 clang git
173197
run: |
174-
CC=clang CXX=clang++ cmake -H. -Bout/debug -DWALRUS_ARCH=arm -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
175-
CC=clang CXX=clang++ cmake -H. -Bout/pure -DWALRUS_ARCH=arm -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
198+
CC=clang CXX=clang++ cmake -H. -Bout/debug -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -GNinja
199+
CC=clang CXX=clang++ cmake -H. -Bout/pure -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
176200
ninja -Cout/debug
177201
ninja -Cout/pure
178202
# remove 2 test files due to stack overflow occurred by recursion calls in debug mode build by clang
@@ -183,7 +207,7 @@ jobs:
183207
python3 ./tools/run-tests.py --engine="./out/pure/walrus" basic-tests wasm-test-core jit
184208
python3 ./tools/run-tests.py --jit --engine="./out/pure/walrus" basic-tests wasm-test-core jit
185209
186-
build-test-on-aarch64:
210+
build-test-on-arm64:
187211
runs-on: ubuntu-latest
188212
steps:
189213
- uses: actions/checkout@v4
@@ -203,8 +227,8 @@ jobs:
203227
apt-get update
204228
apt-get install -y cmake build-essential ninja-build pkg-config python3 clang git
205229
run: |
206-
CC=clang CXX=clang++ cmake -H. -Bout/release -DWALRUS_ARCH=aarch64 -DWALRUS_HOST=linux -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -GNinja
207-
CC=clang CXX=clang++ cmake -H. -Bout/pure -DWALRUS_ARCH=aarch64 -DWALRUS_HOST=linux -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
230+
CC=clang CXX=clang++ cmake -H. -Bout/release -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -GNinja
231+
CC=clang CXX=clang++ cmake -H. -Bout/pure -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -DWALRUS_WASI=OFF -GNinja
208232
ninja -Cout/release
209233
ninja -Cout/pure
210234
python3 ./tools/run-tests.py --engine="./out/release/walrus"
@@ -267,7 +291,7 @@ jobs:
267291
sudo pip install tqdm
268292
- name: Build x64
269293
env:
270-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -GNinja
294+
BUILD_OPTIONS: -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -GNinja
271295
run: |
272296
cmake -H. -Bout/linux/x64 $BUILD_OPTIONS
273297
ninja -Cout/linux/x64
@@ -287,7 +311,7 @@ jobs:
287311
sudo apt install -y ninja-build gcc-multilib g++-multilib
288312
- name: Build x64
289313
env:
290-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=api_test -GNinja
314+
BUILD_OPTIONS: -DWALRUS_MODE=debug -DWALRUS_OUTPUT=api_test -GNinja
291315
run: |
292316
cmake -H. -Bout/api_test/x64 $BUILD_OPTIONS
293317
ninja -Cout/api_test/x64
@@ -322,7 +346,7 @@ jobs:
322346
tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
323347
- name: Build
324348
env:
325-
BUILD_OPTIONS: -DWALRUS_ARCH=x64 -DWALRUS_HOST=linux -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -GNinja
349+
BUILD_OPTIONS: -DWALRUS_MODE=release -DWALRUS_OUTPUT=shell -GNinja
326350
run: |
327351
export PATH=$GITHUB_WORKSPACE/cov-analysis-linux64/bin:$PATH
328352
cmake -H. -Bout/coverity_scan $BUILD_OPTIONS

build/target.cmake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,11 @@ ELSEIF (${WALRUS_HOST} STREQUAL "android")
177177
# bdwgc android amd64 cannot support keeping back ptrs
178178
SET (WALRUS_THIRDPARTY_CFLAGS ${WALRUS_THIRDPARTY_CFLAGS} -UKEEP_BACK_PTRS -USAVE_CALL_COUNT -UDBG_HDRS_ALL)
179179
ENDIF()
180-
ELSEIF (${WALRUS_HOST} STREQUAL "darwin" AND ${WALRUS_ARCH} STREQUAL "x64")
180+
ELSEIF (${WALRUS_HOST} STREQUAL "darwin")
181181
FIND_PACKAGE (PkgConfig REQUIRED)
182+
IF ((NOT ${WALRUS_ARCH} STREQUAL "x64") AND (NOT ${WALRUS_ARCH} STREQUAL "aarch64"))
183+
MESSAGE (FATAL_ERROR ${WALRUS_ARCH} " is unsupported")
184+
ENDIF()
182185
SET (WALRUS_LDFLAGS -lpthread -Wl,-dead_strip)
183186
# bdwgc mac cannot support pthread_getattr_np
184187
SET (WALRUS_THIRDPARTY_CFLAGS ${WALRUS_THIRDPARTY_CFLAGS} -UHAVE_PTHREAD_GETATTR_NP)

0 commit comments

Comments
 (0)