docker_build.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env bash
  2. #
  3. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  4. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  5. #
  6. readonly BUILD_CONTENT="/tmp/build_content"
  7. if [[ ! -d ${BUILD_CONTENT} ]]; then
  8. mkdir ${BUILD_CONTENT}
  9. fi
  10. readonly WASI_SDK_VER=12
  11. readonly WABT_VER=1.0.23
  12. readonly CMAKE_VER=3.16.2
  13. readonly BINARYEN_VER=version_101
  14. readonly BAZELISK_VER=1.7.5
  15. cd ${BUILD_CONTENT} || exit
  16. if [[ ! -f wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz ]]; then
  17. wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER}/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz
  18. fi
  19. if [[ ! -f wabt-${WABT_VER}-ubuntu.tar.gz ]]; then
  20. wget https://github.com/WebAssembly/wabt/releases/download/${WABT_VER}/wabt-${WABT_VER}-ubuntu.tar.gz
  21. fi
  22. if [[ ! -f cmake-${CMAKE_VER}-Linux-x86_64.sh ]]; then
  23. wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-Linux-x86_64.sh
  24. fi
  25. if [[ ! -f binaryen-${BINARYEN_VER}-x86_64-linux.tar.gz ]]; then
  26. wget https://github.com/WebAssembly/binaryen/releases/download/${BINARYEN_VER}/binaryen-${BINARYEN_VER}-x86_64-linux.tar.gz
  27. fi
  28. if [[ ! -f bazelisk-linux-amd64 ]]; then
  29. wget https://github.com/bazelbuild/bazelisk/releases/download/v${BAZELISK_VER}/bazelisk-linux-amd64
  30. fi
  31. cd - > /dev/null || exit
  32. DOCKERFILE_PATH=$(dirname "$(realpath "$0")")
  33. docker build \
  34. --build-arg WASI_SDK_VER=${WASI_SDK_VER} \
  35. --build-arg WABT_VER=${WABT_VER} \
  36. --build-arg CMAKE_VER=${CMAKE_VER} \
  37. --build-arg BINARYEN_VER=${BINARYEN_VER} \
  38. -t wamr_workload_env:0.1 -f "${DOCKERFILE_PATH}"/Dockerfile ${BUILD_CONTENT} \
  39. && docker run --rm \
  40. --name workload_w_clang \
  41. --mount type=bind,source="$(pwd)",target=/data/project \
  42. -w /data/project \
  43. wamr_workload_env:0.1 \
  44. /bin/bash -c /build.sh