Wang Xin 6 лет назад
Родитель
Сommit
a478166884
4 измененных файлов с 33 добавлено и 267 удалено
  1. 24 11
      wamr-sdk/Kconfig
  2. 3 256
      wamr-sdk/build_sdk.sh
  3. 3 0
      wamr-sdk/menuconfig.sh
  4. 3 0
      wamr-sdk/wamr_config_default.cmake

+ 24 - 11
wamr-sdk/Kconfig

@@ -1,7 +1,7 @@
 mainmenu "WebAssembly Micro Runtime Configuration"
 mainmenu "WebAssembly Micro Runtime Configuration"
 
 
 config WAMR_SDK_PROFILE
 config WAMR_SDK_PROFILE
-    string "wamr sdk profile name"
+    string "wamr SDK profile name"
     default "default"
     default "default"
     help
     help
         create a new SDK by giving a name or overwrite
         create a new SDK by giving a name or overwrite
@@ -64,20 +64,33 @@ choice
 
 
 endchoice
 endchoice
 
 
-config APP_FRAMEWORK_ENABLE
-    bool "enable app framework"
-    help
-        enable wamr app framework
+ 
 
 
-menu "app modules"
-    depends on APP_FRAMEWORK_ENABLE
+choice 
+    prompt "application framework"
+    config APP_FRAMEWORK_DISABLE
+        bool "Disable app framework"
+        help
+            Disable wamr app framework
 
 
-    config APP_BUILD_ALL
-        bool "enable all modules"
+    config APP_FRAMEWORK_DEFAULT
+        bool "Default components"
+        help
+            Default components
+            
+    config TRI_CHOICE_SYM_2
+         tristate "Tristate choice sym 2"
 
 
-    source ".wamr_modules"
+    config APP_BUILD_CUSTOM
+        bool "customized module config"
 
 
-endmenu
+    menu "modules:"
+        depends on APP_BUILD_CUSTOM
+
+        source ".wamr_modules"
+
+    endmenu
+endchoice
 
 
 config EXTRA_INCLUDE_ENABLE
 config EXTRA_INCLUDE_ENABLE
     bool "enable extra include dir"
     bool "enable extra include dir"

+ 3 - 256
wamr-sdk/build_sdk.sh

@@ -20,9 +20,6 @@ usage ()
     echo "build.sh [options]"
     echo "build.sh [options]"
     echo " -n [profile name]"
     echo " -n [profile name]"
     echo " -x [config file path name]"
     echo " -x [config file path name]"
-    echo " -p [platform]"
-    echo " -t [target]"
-    echo " -m [mode]"
     echo " -e [extra include path], files under this path will be copied into SDK package"
     echo " -e [extra include path], files under this path will be copied into SDK package"
     echo " -c, clean"
     echo " -c, clean"
     echo " -i, enter interactive config setting"
     echo " -i, enter interactive config setting"
@@ -30,7 +27,7 @@ usage ()
 }
 }
 
 
 
 
-while getopts "e:x:n:p:t:m:l:awgicg" opt
+while getopts "e:x:n:t:m:l:awgicg" opt
 do
 do
     case $opt in
     case $opt in
         n)
         n)
@@ -39,24 +36,6 @@ do
         x)
         x)
         wamr_config_cmake_file=$OPTARG
         wamr_config_cmake_file=$OPTARG
         ;;
         ;;
-        p)
-        PLATFORM=$OPTARG
-        ;;
-        t)
-        TARGET=$OPTARG
-        ;;
-        m)
-        OLD_IFS="$IFS"
-        IFS=","
-        MODES=($OPTARG)
-        IFS="$OLD_IFS"
-        ;;
-        l)
-        OLD_IFS="$IFS"
-        IFS=","
-        APP_LIST=($OPTARG)
-        IFS="$OLD_IFS"
-        ;;
         e)
         e)
         CMAKE_DEXTRA_SDK_INCLUDE_PATH="-DEXTRA_SDK_INCLUDE_PATH=${OPTARG}"
         CMAKE_DEXTRA_SDK_INCLUDE_PATH="-DEXTRA_SDK_INCLUDE_PATH=${OPTARG}"
         ;;
         ;;
@@ -69,9 +48,6 @@ do
         w)
         w)
         LIBC_SUPPORT="WASI"
         LIBC_SUPPORT="WASI"
         ;;
         ;;
-        g)
-        FROM_GUI_MENU="TRUE"
-        ;;
         i)
         i)
         MENUCONFIG="TRUE"
         MENUCONFIG="TRUE"
         ;;
         ;;
@@ -107,7 +83,7 @@ fi
 # 1. use the users provided the config cmake file path.
 # 1. use the users provided the config cmake file path.
 # 2. if user set MENU CONFIG, enter menu config to generate menu_config.cmake in the profile output folder
 # 2. if user set MENU CONFIG, enter menu config to generate menu_config.cmake in the profile output folder
 # 3. If the menu_config.cmake is already in the profile folder, use it
 # 3. If the menu_config.cmake is already in the profile folder, use it
-#4: use the default config cmake file
+# 4. Use the default config cmake file
 if [[ -n "$wamr_config_cmake_file" ]]; then
 if [[ -n "$wamr_config_cmake_file" ]]; then
 	echo "User config file: [${wamr_config_cmake_file}]"
 	echo "User config file: [${wamr_config_cmake_file}]"
 else
 else
@@ -138,240 +114,11 @@ if [ "${FROM_GUI_MENU}" != "TRUE" ]; then
     fi
     fi
 fi
 fi
 
 
+
 mkdir -p ${curr_profile_dir}
 mkdir -p ${curr_profile_dir}
 mkdir -p ${curr_profile_dir}/app-sdk
 mkdir -p ${curr_profile_dir}/app-sdk
 mkdir -p ${curr_profile_dir}/runtime-sdk
 mkdir -p ${curr_profile_dir}/runtime-sdk
 
 
-function set_build_target () {
-    target=$1
-
-    if [[ "${target}" = "X86_64" ]]; then
-        echo -e "set (WAMR_BUILD_TARGET \"X86_64\")" >> ${wamr_config_cmake_file}
-    elif [[ "${target}" = "X86_32" ]]; then
-        echo -e "set (WAMR_BUILD_TARGET \"X86_32\")" >> ${wamr_config_cmake_file}
-    else
-        echo "unknown build target."
-        exit 1
-    fi
-}
-
-function set_build_platform () {
-    platform=$1
-
-    if [[ "${platform}" = "linux" ]]; then
-        echo -e "set (WAMR_BUILD_PLATFORM \"linux\")" >> ${wamr_config_cmake_file}
-    # TODO: add other platforms
-    else
-        echo "${platform} platform currently not supported"
-        exit 1
-    fi
-}
-
-# input: array of selected exec modes [aot jit interp]
-function set_exec_mode () {
-    modes=($1)
-
-    for mode in ${modes[@]}
-    do
-        if [[ "$mode" = "aot" ]]; then
-            echo "set (WAMR_BUILD_AOT 1)" >> ${wamr_config_cmake_file}
-        elif [[ "$mode" = "jit" ]]; then
-            echo "set (WAMR_BUILD_JIT 1)" >> ${wamr_config_cmake_file}
-            BUILD_LLVM="TRUE"
-        elif [[ "$mode" = "interp" ]]; then
-            echo "set (WAMR_BUILD_INTERP 1)" >> ${wamr_config_cmake_file}
-        else
-            echo "unknown execute mode."
-            exit 1
-        fi
-    done
-}
-
-function set_libc_support () {
-    libc=$1
-
-    if [ "$libc" = "WASI" ]; then
-        echo "set (WAMR_BUILD_LIBC_WASI 1)" >> ${wamr_config_cmake_file}
-    else
-        echo "set (WAMR_BUILD_LIBC_BUILTIN 1)" >> ${wamr_config_cmake_file}
-    fi
-}
-
-function set_app_framework () {
-    app_support=$1
-
-    if [ "$app_support" = "TRUE" ]; then
-        echo "set (WAMR_BUILD_APP_FRAMEWORK 1)" >> ${wamr_config_cmake_file}
-    fi
-}
-
-# input: array of selected app modules
-function set_app_module () {
-    modules=($1)
-
-    for module in ${modules[*]}
-    do
-        if [ "${module}" = "all" ]; then
-            cmake_app_list="WAMR_APP_BUILD_ALL"
-            break
-        fi
-
-        cmake_app_list="${cmake_app_list} WAMR_APP_BUILD_${module^^}"
-    done
-
-    # APP module list
-    if [ -n "${cmake_app_list}" ]; then
-        echo "set (WAMR_BUILD_APP_LIST ${cmake_app_list# })" >> ${wamr_config_cmake_file}
-    fi
-}
-
-if [ ! -f "/opt/wasi-sdk/bin/clang" ]; then
-        echo "Can't find wasi-sdk under /opt/wasi-sdk"
-        echo "You can download wasi-sdk from here:"
-        echo ""
-        echo "https://github.com/CraneStation/wasi-sdk/releases/tag/wasi-sdk-7"
-        echo ""
-        echo "please install it to the default path for your convenience"
-        echo ""
-        exit 1
-fi
-
-if [ "${FROM_GUI_MENU}" = "TRUE" ]; then
-    # called from gui based menuconfig,
-    # all settings are passed from command line options
-
-    if  [[ -f $wamr_config_cmake_file ]]; then
-		rm 	$wamr_config_cmake_file
-	fi
-
-    set_build_target        ${TARGET}
-    set_build_platform      ${PLATFORM}
-    set_exec_mode           "${MODES[*]}"
-    set_libc_support        ${LIBC_SUPPORT}
-    set_app_module          "${APP_LIST[*]}"
-    set_app_framework       ${APP}
-fi
-
-
-# No options passed, ask for user input
-if [ "$MENUCONFIG" = "TRUE" ]; then
-
-	if  [[ -f $wamr_config_cmake_file ]]; then
-		rm 	$wamr_config_cmake_file
-	fi
-
-    echo ""
-    echo "-----------------------------------------------------------------"
-    echo "select a build target:"
-    echo "[1] X86_64 (default)"
-    echo "[2] X86_32"
-    read -a select_target
-
-    if [ "${select_target}" = "2" ]; then
-        TARGET="X86_32"
-    else
-        TARGET="X86_64"
-    fi
-
-    echo ""
-    echo "-----------------------------------------------------------------"
-    echo "select a build platform:"
-    echo "[1] linux (default)"
-    echo "More platforms to be add here ..."
-
-    read -a select_platform
-
-    if [ "${select_platform}" = "1" ]; then
-        PLATFORM="linux"
-    # TODO: add more platforms
-    else
-        PLATFORM="linux"
-    fi
-
-    echo ""
-    echo "-----------------------------------------------------------------"
-    echo "select one or more execution mode of the WAMR runtime"
-
-    enable_interp="y"
-    enable_jit="n"
-    enable_aot="n"
-
-    read -p "enable interpreter mode [y]/n:  " -a enable_interp
-    read -p "enable jit mode y/[n]:  " -a enable_jit
-    read -p "enable aot mode y/[n]:  " -a enable_aot
-
-    # by default the interpreter mode is selected
-    if [[ ${enable_interp} != "n" ]] && [[ ${enable_interp} != "N" ]]; then
-        enable_interp="y"
-    fi
-
-    if [[ ${enable_interp} != "y" ]] && [[ ${enable_aot} != "y" ]];
-    then
-        echo "WASM Interpreter and AOT must be enabled at least one"
-        exit 1
-    fi
-
-    if [[ ${enable_interp} = "y" ]]; then
-        MODES[${#MODES[@]}]=interp
-    fi
-    if [[ ${enable_jit} = "y" ]] || [[ ${enable_jit} = "Y" ]]; then
-        MODES[${#MODES[@]}]=jit
-    fi
-    if [[ ${enable_aot} = "y" ]] || [[ ${enable_aot} = "Y" ]]; then
-        MODES[${#MODES[@]}]=aot
-    fi
-
-    echo ""
-    echo "-----------------------------------------------------------------"
-    echo "select a libc support:"
-    echo "[1] builtin libc (default)"
-    echo "[2] WebAssembly System Interface (WASI)"
-    read -a libc_select
-
-    if [ "$libc_select" = "1" ]; then
-        LIBC_SUPPORT="BUILTIN"
-    elif [ "$libc_select" = "2" ]; then
-        LIBC_SUPPORT="WASI"
-    fi
-
-    echo ""
-    echo "-----------------------------------------------------------------"
-    echo "enable app framework? [y]/n"
-    read -a enable_app
-
-    if [[ "$enable_app" != "n" ]] && [[ "$enable_app" != "N" ]]; then
-        APP="TRUE"
-    fi
-
-    if [[ "$APP" = "TRUE" ]]; then
-        echo ""
-        echo "-----------------------------------------------------------------"
-        echo "please input the name of the module you need, seperate by ',' "
-        echo "type \"all\" if you want to enable all of them"
-        echo "---------------"
-        for folder in `ls ${wamr_root_dir}/core/app-framework -F | grep "/$" | grep -v "base" | grep -v "app-native-shared"  | grep -v "template"`
-        do
-            folder=${folder%*/}
-            echo "${folder}"
-        done
-        echo "---------------"
-        read -a app_select
-
-        app_select=${app_select},base
-        app_select=${app_select#,}
-        OLD_IFS="$IFS"
-        IFS=","
-        APP_LIST=($app_select)
-        IFS="$OLD_IFS"
-    fi
-
-    set_build_target        ${TARGET}
-    set_build_platform      ${PLATFORM}
-    set_exec_mode           "${MODES[*]}"
-    set_libc_support        ${LIBC_SUPPORT}
-    set_app_module          "${APP_LIST[*]}"
-    set_app_framework       ${APP}
-fi
 
 
 if [ "${BUILD_LLVM}" = "TRUE" ]; then
 if [ "${BUILD_LLVM}" = "TRUE" ]; then
     if [ ! -d "${wamr_root_dir}/core/deps/llvm" ]; then
     if [ ! -d "${wamr_root_dir}/core/deps/llvm" ]; then

+ 3 - 0
wamr-sdk/menuconfig.sh

@@ -28,6 +28,7 @@ do
 done
 done
 
 
 menuconfig Kconfig
 menuconfig Kconfig
+[ $? -eq 0 ] || exit $?
 
 
 if [ ! -e ".config" ]; then
 if [ ! -e ".config" ]; then
     exit 0
     exit 0
@@ -50,6 +51,8 @@ function args_add_array()
     args="${args} -$1 ${2#,}"
     args="${args} -$1 ${2#,}"
 }
 }
 
 
+source .config
+
 profile=`cat .config | grep "^CONFIG_WAMR_SDK_PROFILE"`
 profile=`cat .config | grep "^CONFIG_WAMR_SDK_PROFILE"`
 profile=${profile#CONFIG_WAMR_SDK_PROFILE=\"}
 profile=${profile#CONFIG_WAMR_SDK_PROFILE=\"}
 profile=${profile%*\"}
 profile=${profile%*\"}

+ 3 - 0
wamr-sdk/wamr_config_default.cmake

@@ -7,3 +7,6 @@ set (WAMR_BUILD_LIBC_BUILTIN 1)
 set (WAMR_BUILD_LIBC_WASI 0)
 set (WAMR_BUILD_LIBC_WASI 0)
 set (WAMR_BUILD_APP_FRAMEWORK 1)
 set (WAMR_BUILD_APP_FRAMEWORK 1)
 set (WAMR_BUILD_APP_LIST WAMR_APP_BUILD_BASE)
 set (WAMR_BUILD_APP_LIST WAMR_APP_BUILD_BASE)
+
+#
+# set (EXTRA_SDK_INCLUDE_PATH "")