build.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. OUT_DIR=$PWD/out
  5. WAMRC_CMD=$PWD/../../../wamr-compiler/build/wamrc
  6. POLYBENCH_CASES="datamining linear-algebra medley stencils"
  7. if [ ! -d PolyBenchC-4.2.1 ]; then
  8. git clone https://github.com/MatthiasJReisinger/PolyBenchC-4.2.1.git
  9. fi
  10. mkdir -p ${OUT_DIR}
  11. cd PolyBenchC-4.2.1
  12. for case in $POLYBENCH_CASES
  13. do
  14. files=`find ${case} -name "*.c"`
  15. for file in ${files}
  16. do
  17. file_name=${file##*/}
  18. if [[ ${file_name} == "Nussinov.orig.c" ]]; then
  19. continue
  20. fi
  21. echo "Build ${file_name%.*}_native"
  22. gcc -O3 -I utilities -I ${file%/*} utilities/polybench.c ${file} \
  23. -DPOLYBENCH_TIME -lm -o ${OUT_DIR}/${file_name%.*}_native
  24. echo "Build ${file_name%.*}.wasm"
  25. /opt/wasi-sdk/bin/clang -O3 -I utilities -I ${file%/*} \
  26. utilities/polybench.c ${file} \
  27. -Wl,--export=__heap_base -Wl,--export=__data_end \
  28. -Wl,--export=malloc -Wl,--export=free \
  29. -DPOLYBENCH_TIME -o ${OUT_DIR}/${file_name%.*}.wasm
  30. echo "Compile ${file_name%.*}.wasm into ${file_name%.*}.aot"
  31. ${WAMRC_CMD} -o ${OUT_DIR}/${file_name%.*}.aot \
  32. ${OUT_DIR}/${file_name%.*}.wasm
  33. done
  34. done
  35. cd ..
  36. echo "Done"