mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-03-12 08:55:28 +00:00

* Implement memory profiler, optimize memory usage, modify code indent * Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default * Add a new extension library: connection * Fix bug of reading magic number and version in big endian platform * Re-org platform APIs: move most platform APIs from iwasm to shared-lib * Enhance wasm loader to fix some security issues * Fix issue about illegal load of EXC_RETURN into PC on stm32 board * Updates that let a restricted version of the interpreter run in SGX * Enable native/app address validation and conversion for wasm app * Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused * Refine binary size and fix several minor issues Optimize interpreter LOAD/STORE opcodes to decrease the binary size Fix issues when using iwasm library: _bh_log undefined, bh_memory.h not found Remove unused _stdin/_stdout/_stderr global variables resolve in libc wrapper Add macros of global heap size, stack size, heap size for Zephyr main.c Clear compile warning of wasm_application.c * Add more strict security checks for libc wrapper API's * Use one libc wrapper copy for sgx and other platforms; remove bh_printf macro for other platform header files * Enhance security of libc strcpy/sprintf wrapper function * Fix issue of call native for x86_64/arm/mips, add module inst parameter for native wrapper functions * Remove get_module_inst() and fix issue of call native * Refine wgl lib: remove module_inst parameter from widget functions; move function index check to runtime instantiate * Refine interpreter call native process, refine memory boudary check * Fix issues of invokeNative function of arm/mips/general version * Add a switch to build simple sample without gui support * Add BUILD_TARGET setting in makefile to replace cpu compiler flags in source code * Re-org shared lib header files, remove unused info; fix compile issues of vxworks * Add build target general * Remove unused files * Update license header * test push * Restore file * Sync up with internal/feature * Sync up with internal/feature * Rename build_wamr_app to build_wasm_app * Fix small issues of README * Enhance malformed wasm file checking Fix issue of print hex int and implement utf8 string check Fix wasi file read/write right issue Fix minor issue of build wasm app doc * Sync up with internal/feature * Sync up with internal/feature: fix interpreter arm issue, fix read leb issue * Sync up with internal/feature * Fix bug of config.h and rename wasi config.h to ssp_config.h * Sync up with internal/feature * Import wamr aot * update document * update document * Update document, disable WASI in 32bit * update document * remove files * update document * Update document * update document * update document * update samples * Sync up with internal repo
123 lines
2.7 KiB
Bash
Executable File
123 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
sdk_root=$(cd "$(dirname "$0")/" && pwd)
|
|
wamr_root=${sdk_root}/..
|
|
|
|
if [ ! `command -v menuconfig` ]; then
|
|
echo "Can't find kconfiglib python lib on this computer"
|
|
echo "Downloading it through pip"
|
|
echo "If this fails, you can try `pip install kconfiglib` to install it manually"
|
|
echo "Or download the repo from https://github.com/ulfalizer/Kconfiglib"
|
|
|
|
pip install kconfiglib
|
|
fi
|
|
|
|
if [ -f ".wamr_modules" ]; then
|
|
rm -f .wamr_modules
|
|
fi
|
|
|
|
# get all modules under core/app-framework
|
|
for module in `ls ${wamr_root}/core/app-framework -F | grep "/$" | grep -v "base" | grep -v "app-native-shared" | grep -v "template"`
|
|
do
|
|
module=${module%*/}
|
|
echo "config APP_BUILD_${module^^}" >> .wamr_modules
|
|
echo " bool \"enable ${module}\"" >> .wamr_modules
|
|
done
|
|
|
|
menuconfig Kconfig
|
|
|
|
if [ ! -e ".config" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
|
|
args=""
|
|
function args_add_bool()
|
|
{
|
|
args="${args} -$1"
|
|
}
|
|
|
|
function args_add_one()
|
|
{
|
|
args="${args} -$1 $2"
|
|
}
|
|
|
|
function args_add_array()
|
|
{
|
|
args="${args} -$1 ${2#,}"
|
|
}
|
|
|
|
profile=`cat .config | grep "^CONFIG_WAMR_SDK_PROFILE"`
|
|
profile=${profile#CONFIG_WAMR_SDK_PROFILE=\"}
|
|
profile=${profile%*\"}
|
|
args_add_one n ${profile}
|
|
|
|
platform=`cat .config | grep "^CONFIG_PLATFORM"`
|
|
platform=${platform%*=y}
|
|
platform=${platform,,}
|
|
platform=${platform#config_platform_}
|
|
if [ -n "${platform}" ]; then
|
|
args_add_one p ${platform#config_platform_}
|
|
fi
|
|
|
|
target=`cat .config | grep "^CONFIG_TARGET"`
|
|
target=${target%*=y}
|
|
target=${target#CONFIG_TARGET_}
|
|
if [ -n "${target}" ]; then
|
|
args_add_one t ${target#CONFIG_TARGET_}
|
|
fi
|
|
|
|
|
|
modes=`cat .config | grep "^CONFIG_EXEC"`
|
|
arg_mode=""
|
|
for mode in ${modes}
|
|
do
|
|
mode=${mode%*=y}
|
|
mode=${mode#CONFIG_EXEC_}
|
|
arg_mode="${arg_mode},${mode,,}"
|
|
done
|
|
if [ -z "${arg_mode}" ]; then
|
|
echo "execution mode are not selected"
|
|
exit 1
|
|
fi
|
|
args_add_array m "${arg_mode}"
|
|
|
|
libc=`cat .config | grep "^CONFIG_LIBC"`
|
|
libc=${libc%*=y}
|
|
if [ "${libc}" = "CONFIG_LIBC_WASI" ]; then
|
|
args_add_bool w
|
|
fi
|
|
|
|
app_en=`cat .config | grep "^CONFIG_APP_FRAMEWORK"`
|
|
app_en=${app_en%*=y}
|
|
app_en=${app_en,,}
|
|
if [ -n "${app_en}" ]; then
|
|
args_add_bool a
|
|
fi
|
|
|
|
apps=`cat .config | grep "^CONFIG_APP_BUILD"`
|
|
arg_app=""
|
|
for app in ${apps}
|
|
do
|
|
app=${app%*=y}
|
|
app=${app#CONFIG_APP_BUILD_}
|
|
arg_app="${arg_app},${app,,}"
|
|
done
|
|
|
|
if [ -n "${app_en}" ]; then
|
|
arg_app="${arg_app},base"
|
|
args_add_array l "${arg_app}"
|
|
fi
|
|
|
|
extra_path=`cat .config | grep "^CONFIG_EXTRA_INCLUDE_PATH"`
|
|
if [ -n "${extra_path}" ]; then
|
|
extra_path=${extra_path#CONFIG_EXTRA_INCLUDE_PATH=\"}
|
|
extra_path=${extra_path%*\"}
|
|
args_add_one e ${extra_path}
|
|
fi
|
|
|
|
args="-g ${args}"
|
|
./build_sdk.sh ${args} |