This repository has been archived on 2023-11-05. You can view files and clone it, but cannot push or open issues or pull requests.
wasm-micro-runtime/wamr-sdk/menuconfig.sh

123 lines
2.7 KiB
Bash
Raw Normal View History

Enable AoT and wamr-sdk, and change arguments of call wasm API (#157) * 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
2020-01-21 13:26:14 +08:00
#!/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}