build.sh 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/bin/bash
  2. CURR_DIR=$PWD
  3. WAMR_DIR=${PWD}/../..
  4. OUT_DIR=${PWD}/out
  5. BUILD_DIR=${PWD}/build
  6. IWASM_ROOT=${PWD}/../../core/iwasm
  7. APP_LIBS=${IWASM_ROOT}/lib/app-libs
  8. NATIVE_LIBS=${IWASM_ROOT}/lib/native-interface
  9. APP_LIB_SRC="${APP_LIBS}/base/*.c ${APP_LIBS}/extension/sensor/*.c ${NATIVE_LIBS}/*.c"
  10. WASM_APPS=${PWD}/wasm-apps
  11. rm -rf ${OUT_DIR}
  12. mkdir ${OUT_DIR}
  13. mkdir ${OUT_DIR}/wasm-apps
  14. cd ${WAMR_DIR}/core/shared-lib/mem-alloc
  15. if [ ! -d "tlsf" ]; then
  16. git clone https://github.com/mattconte/tlsf
  17. fi
  18. echo "#####################build simple project"
  19. cd ${CURR_DIR}
  20. mkdir -p cmake_build
  21. cd cmake_build
  22. cmake ..
  23. make
  24. if [ $? != 0 ];then
  25. echo "BUILD_FAIL simple exit as $?\n"
  26. exit 2
  27. fi
  28. cp -a simple ${OUT_DIR}
  29. echo "#####################build simple project success"
  30. echo "#####################build host-tool"
  31. cd ${WAMR_DIR}/test-tools/host-tool
  32. mkdir -p bin
  33. cd bin
  34. cmake ..
  35. make
  36. if [ $? != 0 ];then
  37. echo "BUILD_FAIL host tool exit as $?\n"
  38. exit 2
  39. fi
  40. cp host_tool ${OUT_DIR}
  41. echo "#####################build host-tool success"
  42. echo "#####################build wasm apps"
  43. cd ${CURR_DIR}
  44. APP_SRC="${WASM_APPS}/timer/timer.c ${APP_LIB_SRC}"
  45. emcc -O3 -I${APP_LIBS}/base -I${APP_LIBS}/extension/sensor -I${NATIVE_LIBS} \
  46. -s WASM=1 -s SIDE_MODULE=1 -s ASSERTIONS=1 -s STACK_OVERFLOW_CHECK=2 \
  47. -s TOTAL_MEMORY=65536 -s TOTAL_STACK=4096 \
  48. -s "EXPORTED_FUNCTIONS=['_on_init', '_on_destroy', '_on_request', '_on_response', \
  49. '_on_sensor_event', '_on_timer_callback']" \
  50. -o ${OUT_DIR}/wasm-apps/timer.wasm ${APP_SRC}
  51. APP_SRC="${WASM_APPS}/request_handler/request_handler.c ${APP_LIB_SRC}"
  52. emcc -O3 -I${APP_LIBS}/base -I${APP_LIBS}/extension/sensor -I${NATIVE_LIBS} \
  53. -s WASM=1 -s SIDE_MODULE=1 -s ASSERTIONS=1 -s STACK_OVERFLOW_CHECK=2 \
  54. -s TOTAL_MEMORY=65536 -s TOTAL_STACK=4096 \
  55. -s "EXPORTED_FUNCTIONS=['_on_init', '_on_destroy', '_on_request', '_on_response', \
  56. '_on_sensor_event', '_on_timer_callback']" \
  57. -o ${OUT_DIR}/wasm-apps/request_handler.wasm ${APP_SRC}
  58. APP_SRC="${WASM_APPS}/request_sender/request_sender.c ${APP_LIB_SRC}"
  59. emcc -O3 -I${APP_LIBS}/base -I${APP_LIBS}/extension/sensor -I${NATIVE_LIBS} \
  60. -s WASM=1 -s SIDE_MODULE=1 -s ASSERTIONS=1 -s STACK_OVERFLOW_CHECK=2 \
  61. -s TOTAL_MEMORY=65536 -s TOTAL_STACK=4096 \
  62. -s "EXPORTED_FUNCTIONS=['_on_init', '_on_destroy', '_on_request', '_on_response', \
  63. '_on_sensor_event', '_on_timer_callback']" \
  64. -o ${OUT_DIR}/wasm-apps/request_sender.wasm ${APP_SRC}
  65. APP_SRC="${WASM_APPS}/event_publisher/event_publisher.c ${APP_LIB_SRC}"
  66. emcc -O3 -I${APP_LIBS}/base -I${APP_LIBS}/extension/sensor -I${NATIVE_LIBS} \
  67. -s WASM=1 -s SIDE_MODULE=1 -s ASSERTIONS=1 -s STACK_OVERFLOW_CHECK=2 \
  68. -s TOTAL_MEMORY=65536 -s TOTAL_STACK=4096 \
  69. -s "EXPORTED_FUNCTIONS=['_on_init', '_on_destroy', '_on_request', '_on_response', \
  70. '_on_sensor_event', '_on_timer_callback']" \
  71. -o ${OUT_DIR}/wasm-apps/event_publisher.wasm ${APP_SRC}
  72. APP_SRC="${WASM_APPS}/event_subscriber/event_subscriber.c ${APP_LIB_SRC}"
  73. emcc -O3 -I${APP_LIBS}/base -I${APP_LIBS}/extension/sensor -I${NATIVE_LIBS} \
  74. -s WASM=1 -s SIDE_MODULE=1 -s ASSERTIONS=1 -s STACK_OVERFLOW_CHECK=2 \
  75. -s TOTAL_MEMORY=65536 -s TOTAL_STACK=4096 \
  76. -s "EXPORTED_FUNCTIONS=['_on_init', '_on_destroy', '_on_request', '_on_response', \
  77. '_on_sensor_event', '_on_timer_callback']" \
  78. -o ${OUT_DIR}/wasm-apps/event_subscriber.wasm ${APP_SRC}
  79. APP_SRC="${WASM_APPS}/sensor/sensor.c ${APP_LIB_SRC}"
  80. emcc -O3 -I${APP_LIBS}/base -I${APP_LIBS}/extension/sensor -I${NATIVE_LIBS} \
  81. -s WASM=1 -s SIDE_MODULE=1 -s ASSERTIONS=1 -s STACK_OVERFLOW_CHECK=2 \
  82. -s TOTAL_MEMORY=65536 -s TOTAL_STACK=4096 \
  83. -s "EXPORTED_FUNCTIONS=['_on_init', '_on_destroy', '_on_request', '_on_response', \
  84. '_on_sensor_event', '_on_timer_callback']" \
  85. -o ${OUT_DIR}/wasm-apps/sensor.wasm ${APP_SRC}
  86. echo "#####################build wasm apps success"