build.sh 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #!/bin/bash
  2. PROJECT_DIR=$PWD
  3. WAMR_DIR=${PWD}/../..
  4. OUT_DIR=${PWD}/out
  5. BUILD_DIR=${PWD}/build
  6. WAMR_RUNTIME_CFG=${PROJECT_DIR}/wamr_config_gui.cmake
  7. LV_CFG_PATH=${PROJECT_DIR}/lv_config
  8. if [ -z $KW_BUILD ] || [ -z $KW_OUT_FILE ];then
  9. echo "Local Build Env"
  10. cmakewrap="cmake"
  11. makewrap="make"
  12. else
  13. echo "Klocwork Build Env"
  14. cmakewrap="cmake -DCMAKE_BUILD_TYPE=Debug"
  15. makewrap="kwinject -o $KW_OUT_FILE make"
  16. fi
  17. if [ ! -d $BUILD_DIR ]; then
  18. mkdir ${BUILD_DIR}
  19. fi
  20. rm -rf ${OUT_DIR}
  21. mkdir ${OUT_DIR}
  22. cd ${WAMR_DIR}/core/shared/mem-alloc
  23. if [ ! -d "tlsf" ]; then
  24. git clone https://github.com/mattconte/tlsf
  25. fi
  26. cd ${WAMR_DIR}/core/deps
  27. if [ ! -d "lvgl" ]; then
  28. git clone https://github.com/littlevgl/lvgl.git --branch v6.0.1
  29. fi
  30. if [ ! -d "lv_drivers" ]; then
  31. git clone https://github.com/littlevgl/lv_drivers.git
  32. fi
  33. echo -e "\n\n"
  34. echo "##################### 0. build wamr-sdk gui start#####################"
  35. cd ${WAMR_DIR}/wamr-sdk
  36. ./build_sdk.sh -n gui -x ${WAMR_RUNTIME_CFG} -e ${LV_CFG_PATH}
  37. [ $? -eq 0 ] || exit $?
  38. echo "#####################build wamr-sdk success"
  39. echo -e "\n\n"
  40. echo "##################### 1. build native-ui-app start#####################"
  41. cd $BUILD_DIR
  42. mkdir -p lvgl-native-ui-app
  43. cd lvgl-native-ui-app
  44. $cmakewrap ${PROJECT_DIR}/lvgl-native-ui-app
  45. [ $? -eq 0 ] || exit $?
  46. $makewrap
  47. if [ $? != 0 ];then
  48. echo "BUILD_FAIL native-ui-app $?\n"
  49. exit 2
  50. fi
  51. echo $PWD
  52. cp lvgl_native_ui_app ${OUT_DIR}
  53. echo "#####################build native-ui-app success"
  54. echo -e "\n\n"
  55. echo "##################### 2. build wasm runtime start#####################"
  56. cd $BUILD_DIR
  57. mkdir -p wasm-runtime-wgl
  58. cd wasm-runtime-wgl
  59. $cmakewrap ${PROJECT_DIR}/wasm-runtime-wgl/linux-build -DWAMR_BUILD_SDK_PROFILE=gui
  60. [ $? -eq 0 ] || exit $?
  61. $makewrap
  62. [ $? -eq 0 ] || exit $?
  63. cp wasm_runtime_wgl ${OUT_DIR}/
  64. echo "##################### build littlevgl wasm runtime end#####################"
  65. echo -e "\n\n"
  66. echo "#####################build host-tool"
  67. cd $BUILD_DIR
  68. mkdir -p host-tool
  69. cd host-tool
  70. $cmakewrap ${WAMR_DIR}/test-tools/host-tool
  71. $makewrap
  72. if [ $? != 0 ];then
  73. echo "BUILD_FAIL host tool exit as $?\n"
  74. exit 2
  75. fi
  76. cp host_tool ${OUT_DIR}
  77. echo "#####################build host-tool success"
  78. echo -e "\n\n"
  79. echo "##################### 3. build wasm ui app start#####################"
  80. cd ${PROJECT_DIR}/wasm-apps/wgl
  81. rm -rf build
  82. mkdir build && cd build
  83. $cmakewrap .. -DCMAKE_TOOLCHAIN_FILE=${WAMR_DIR}/wamr-sdk/out/gui/app-sdk/wamr_toolchain.cmake
  84. $makewrap
  85. [ $? -eq 0 ] || exit $?
  86. mv ui_app.wasm ${OUT_DIR}/
  87. # $makewrap
  88. # mv ui_app.wasm ${OUT_DIR}/
  89. cd ${PROJECT_DIR}/wasm-apps/lvgl-compatible
  90. $makewrap
  91. [ $? -eq 0 ] || exit $?
  92. mv ui_app_lvgl_compatible.wasm ${OUT_DIR}/
  93. echo "##################### build wasm ui app end#####################"