mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 15:05:19 +00:00
64 lines
2.4 KiB
Bash
Executable File
64 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#
|
|
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
#
|
|
|
|
PLATFORM=$(uname -s | tr A-Z a-z)
|
|
|
|
readonly WORK_DIR=$PWD
|
|
readonly WAMR_DIR=${WORK_DIR}/../../..
|
|
|
|
function build_wamrc() {
|
|
echo "Build wamrc for spec test under aot compile type"
|
|
cd ${WAMR_DIR}/wamr-compiler &&
|
|
./build_llvm.sh &&
|
|
cd ${WORK_DIR}/build &&
|
|
if [ -d build-wamrc ]; then rm -rf build-wamrc; else mkdir build-wamrc; fi &&
|
|
cd build-wamrc && cmake ${WAMR_DIR}/wamr-compiler && make -j 4
|
|
}
|
|
|
|
function build_iwasm() {
|
|
echo "Build iwasm with compile flags " $1 " "
|
|
cd ${WAMR_DIR}/product-mini/platforms/${PLATFORM} &&
|
|
cd ${WORK_DIR}/build &&
|
|
if [ -d build-iwasm-$2 ]; then rm -rf build-iwasm-$2; else mkdir build-iwasm-$2; fi &&
|
|
cd build-iwasm-$2 &&
|
|
cmake ${WAMR_DIR}/product-mini/platforms/${PLATFORM} $1 \
|
|
-DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_SANITIZER=asan &&
|
|
make -j 4
|
|
if [ "$?" != 0 ]; then
|
|
echo -e "build iwasm failed"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
rm -fr build && mkdir build
|
|
|
|
# build wamrc
|
|
build_wamrc
|
|
|
|
# build default iwasm for testing fast-interp and AOT
|
|
build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=1" "default"
|
|
|
|
# build default iwasm for testing fast-interp and AOT with GC enabled
|
|
build_iwasm "-DWAMR_BUILD_GC=1 -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_SPEC_TEST=1" "default-gc-enabled"
|
|
|
|
# build llvm-jit iwasm for testing llvm-jit
|
|
build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_JIT=1" "llvm-jit"
|
|
|
|
# build multi-tier-jit iwasm for testing classic-interp, fast-jit, llvm-jit and multi-tier-jit
|
|
build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" "multi-tier-jit"
|
|
|
|
# build default iwasm for testing fast-interp and AOT with libc-wasi disabled
|
|
build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_LIBC_WASI=0" "default-wasi-disabled"
|
|
|
|
# build llvm-jit iwasm for testing llvm-jit with libc-wasi disabled
|
|
build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LIBC_WASI=0" "llvm-jit-wasi-disabled"
|
|
|
|
# build multi-tier-jit iwasm for testing classic-interp, fast-jit, llvm-jit and multi-tier-jit with libc-wasi disabled
|
|
build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LIBC_WASI=0" "multi-tier-jit-wasi-disabled"
|
|
|
|
# TODO: add more version of iwasm, for example, sgx version
|