build.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. SHOOTOUT_CASES="base64 fib2 gimli heapsort matrix memmove nestedloop \
  7. nestedloop2 nestedloop3 random seqhash sieve strchr \
  8. switch2"
  9. if [ ! -d sightglass ]; then
  10. git clone https://github.com/wasm-micro-runtime/sightglass.git
  11. fi
  12. mkdir -p ${OUT_DIR}
  13. cd sightglass/benchmarks/shootout
  14. for bench in $SHOOTOUT_CASES
  15. do
  16. echo "Build ${bench}_native"
  17. gcc -O3 -o ${OUT_DIR}/${bench}_native -Dblack_box=set_res -Dbench=${bench} \
  18. -I../../include ${bench}.c main/main_${bench}.c main/my_libc.c
  19. echo "Build ${bench}.wasm"
  20. /opt/wasi-sdk/bin/clang -O3 -nostdlib \
  21. -Wno-unknown-attributes \
  22. -Dblack_box=set_res \
  23. -I../../include -DNOSTDLIB_MODE \
  24. -Wl,--initial-memory=1310720,--allow-undefined \
  25. -Wl,--strip-all,--no-entry \
  26. -o ${OUT_DIR}/${bench}.wasm \
  27. -Wl,--export=app_main -Wl,--export=_start \
  28. ${bench}.c main/main_${bench}.c main/my_libc.c
  29. echo "Compile ${bench}.wasm into ${bench}.aot"
  30. ${WAMRC_CMD} -o ${OUT_DIR}/${bench}.aot ${OUT_DIR}/${bench}.wasm
  31. done
  32. cd ..
  33. echo "Done"