mirror of
				https://github.com/bytecodealliance/wasm-micro-runtime.git
				synced 2025-10-26 19:01:17 +00:00 
			
		
		
		
	 6c846acc59
			
		
	
	
		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"
 |