| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #! /bin/sh
- #
- # Copyright (C) 2019 Intel Corporation. All rights reserved.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- #
- CURR_DIR=$PWD
- WAMR_DIR=${PWD}/../..
- OUT_DIR=${PWD}/out
- WASM_APPS=${PWD}/wasm-apps
- rm -rf ${OUT_DIR}
- mkdir ${OUT_DIR}
- mkdir ${OUT_DIR}/wasm-apps
- echo "##################### build (default)"
- cd ${CURR_DIR}
- mkdir -p cmake_build
- cd cmake_build
- cmake ..
- make -j 4
- if [ $? != 0 ];then
- echo "BUILD_FAIL native-stack-overflow exit as $?\n"
- exit 2
- fi
- cp -a native-stack-overflow ${OUT_DIR}
- echo "##################### build (WAMR_DISABLE_HW_BOUND_CHECK=1)"
- cd ${CURR_DIR}
- mkdir -p cmake_build_disable_hw_bound
- cd cmake_build_disable_hw_bound
- cmake -D WAMR_DISABLE_HW_BOUND_CHECK=1 ..
- make -j 4
- if [ $? != 0 ];then
- echo "BUILD_FAIL native-stack-overflow exit as $?\n"
- exit 2
- fi
- cp -a native-stack-overflow ${OUT_DIR}/native-stack-overflow.WAMR_DISABLE_HW_BOUND_CHECK
- echo "##################### signature shared lib"
- cd ${CURR_DIR}
- cc -I ../../core/iwasm/include -shared -o ${OUT_DIR}/signature.so \
- src/signature.c
- echo
- echo "##################### build wasm apps"
- cd ${WASM_APPS}
- for i in `ls *.c`
- do
- APP_SRC="$i"
- OUT_FILE=${i%.*}.wasm
- # use WAMR SDK to build out the .wasm binary
- /opt/wasi-sdk/bin/clang \
- -mexec-model=reactor \
- -Os -z stack-size=4096 -Wl,--initial-memory=65536 \
- -Wl,--allow-undefined \
- -o ${OUT_DIR}/wasm-apps/${OUT_FILE} ${APP_SRC}
- if [ -f ${OUT_DIR}/wasm-apps/${OUT_FILE} ]; then
- echo "build ${OUT_FILE} success"
- else
- echo "build ${OUT_FILE} fail"
- fi
- done
- echo "#################### build wasm apps done"
- echo "#################### aot-compile"
- WAMRC=${WAMR_DIR}/wamr-compiler/build/wamrc
- ${WAMRC} \
- -o ${OUT_DIR}/wasm-apps/${OUT_FILE}.aot \
- --size-level=0 \
- ${OUT_DIR}/wasm-apps/${OUT_FILE}
- echo "#################### aot-compile w/ signature"
- WAMRC=${WAMR_DIR}/wamr-compiler/build/wamrc
- ${WAMRC} \
- -o ${OUT_DIR}/wasm-apps/${OUT_FILE}.aot.signature \
- --size-level=0 \
- --native-lib=${OUT_DIR}/signature.so \
- ${OUT_DIR}/wasm-apps/${OUT_FILE}
- echo "#################### aot-compile (--bounds-checks=1)"
- ${WAMRC} \
- -o ${OUT_DIR}/wasm-apps/${OUT_FILE}.aot.bounds-checks \
- --size-level=0 \
- --bounds-checks=1 \
- ${OUT_DIR}/wasm-apps/${OUT_FILE}
- echo "#################### aot-compile (--bounds-checks=1) w/ signature"
- ${WAMRC} \
- -o ${OUT_DIR}/wasm-apps/${OUT_FILE}.aot.signature.bounds-checks \
- --size-level=0 \
- --native-lib=${OUT_DIR}/signature.so \
- --bounds-checks=1 \
- ${OUT_DIR}/wasm-apps/${OUT_FILE}
|