build.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. CURR_DIR=$PWD
  3. WAMR_DIR=${PWD}/../..
  4. OUT_DIR=${PWD}/out
  5. WASM_APPS=${PWD}/wasm-apps
  6. rm -rf ${OUT_DIR}
  7. mkdir ${OUT_DIR}
  8. mkdir ${OUT_DIR}/wasm-apps
  9. echo "#####################build basic project"
  10. cd ${CURR_DIR}
  11. mkdir -p cmake_build
  12. cd cmake_build
  13. cmake ..
  14. make
  15. if [ $? != 0 ];then
  16. echo "BUILD_FAIL basic exit as $?\n"
  17. exit 2
  18. fi
  19. cp -a basic ${OUT_DIR}
  20. echo -e "\n"
  21. echo "#####################build wasm apps"
  22. cd ${WASM_APPS}
  23. for i in `ls *.c`
  24. do
  25. APP_SRC="$i"
  26. OUT_FILE=${i%.*}.wasm
  27. # use WAMR SDK to build out the .wasm binary
  28. /opt/wasi-sdk/bin/clang \
  29. --target=wasm32 -O0 -z stack-size=4096 -Wl,--initial-memory=65536 \
  30. --sysroot=${WAMR_DIR}/wamr-sdk/app/libc-builtin-sysroot \
  31. -Wl,--allow-undefined-file=${WAMR_DIR}/wamr-sdk/app/libc-builtin-sysroot/share/defined-symbols.txt \
  32. -Wl,--no-threads,--strip-all,--no-entry -nostdlib \
  33. -Wl,--export=generate_float \
  34. -Wl,--export=float_to_string \
  35. -Wl,--export=calculate\
  36. -Wl,--allow-undefined \
  37. -o ${OUT_DIR}/wasm-apps/${OUT_FILE} ${APP_SRC}
  38. if [ -f ${OUT_DIR}/wasm-apps/${OUT_FILE} ]; then
  39. echo "build ${OUT_FILE} success"
  40. else
  41. echo "build ${OUT_FILE} fail"
  42. fi
  43. done
  44. echo "####################build wasm apps done"