docker_build.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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.20
  12. readonly CMAKE_VER=3.16.2
  13. readonly BINARYEN_VER=version_97
  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 llvm.sh ]]; then
  23. # wget https://apt.llvm.org/llvm.sh
  24. # fi
  25. if [[ ! -f cmake-${CMAKE_VER}-Linux-x86_64.sh ]]; then
  26. wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-Linux-x86_64.sh
  27. fi
  28. if [[ ! -f binaryen-${BINARYEN_VER}-x86_64-linux.tar.gz ]]; then
  29. wget https://github.com/WebAssembly/binaryen/releases/download/${BINARYEN_VER}/binaryen-${BINARYEN_VER}-x86_64-linux.tar.gz
  30. fi
  31. if [[ ! -f bazelisk-linux-amd64.sh ]]; then
  32. wget https://github.com/bazelbuild/bazelisk/releases/download/v${BAZELISK_VER}/bazelisk-linux-amd64
  33. fi
  34. cd - > /dev/null || exit
  35. DOCKERFILE_PATH=$(dirname "$(realpath "$0")")
  36. docker build \
  37. --build-arg WASI_SDK_VER=${WASI_SDK_VER} \
  38. --build-arg WABT_VER=${WABT_VER} \
  39. --build-arg CMAKE_VER=${CMAKE_VER} \
  40. --build-arg BINARYEN_VER=${BINARYEN_VER} \
  41. -t clang_env:0.1 -f "${DOCKERFILE_PATH}"/Dockerfile ${BUILD_CONTENT} \
  42. && docker run --rm \
  43. --name workload_w_clang \
  44. --mount type=bind,source="$(pwd)",target=/data/project \
  45. -w /data/project \
  46. clang_env:0.1 \
  47. /bin/bash -c /build.sh