build.sh 1.5 KB

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