mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2024-11-26 15:32:05 +00:00
6c846acc59
Introduce module instance context APIs which can set one or more contexts created by the embedder for a wasm module instance: ```C wasm_runtime_create_context_key wasm_runtime_destroy_context_key wasm_runtime_set_context wasm_runtime_set_context_spread wasm_runtime_get_context ``` And make libc-wasi use it and set wasi context as the first context bound to the wasm module instance. Also add samples. Refer to https://github.com/bytecodealliance/wasm-micro-runtime/issues/2460.
64 lines
1.4 KiB
Bash
Executable File
64 lines
1.4 KiB
Bash
Executable File
#
|
|
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
#
|
|
|
|
#!/bin/bash
|
|
|
|
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 inst-context project"
|
|
cd ${CURR_DIR}
|
|
mkdir -p cmake_build
|
|
cd cmake_build
|
|
cmake ..
|
|
make -j ${nproc}
|
|
if [ $? != 0 ];then
|
|
echo "BUILD_FAIL inst-context exit as $?\n"
|
|
exit 2
|
|
fi
|
|
|
|
cp -a inst-context ${OUT_DIR}
|
|
|
|
echo -e "\n"
|
|
|
|
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 \
|
|
--target=wasm32 -O0 -z stack-size=4096 -Wl,--initial-memory=65536 \
|
|
--sysroot=${WAMR_DIR}/wamr-sdk/app/libc-builtin-sysroot \
|
|
-Wl,--allow-undefined-file=${WAMR_DIR}/wamr-sdk/app/libc-builtin-sysroot/share/defined-symbols.txt \
|
|
-Wl,--strip-all,--no-entry -nostdlib \
|
|
-Wl,--export=generate_float \
|
|
-Wl,--export=float_to_string \
|
|
-Wl,--export=calculate\
|
|
-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"
|