armnn 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/bash
  2. set -e
  3. root=$(cd $(dirname ${0})/..; pwd)
  4. build=${root}/build
  5. src=${root}/src
  6. third_party=${root}/third_party
  7. tools=${root}/tools
  8. identifier=armnn
  9. bold() {
  10. echo "$(tty -s && tput bold)$1$(tty -s && tput sgr0)"
  11. }
  12. git_sync () {
  13. mkdir -p "${third_party}"
  14. if [ -d "${third_party}/${2}" ]; then
  15. git -C "${third_party}/${2}" pull --quiet --prune
  16. else
  17. git -C "${third_party}" clone --quiet --recursive ${1}
  18. fi
  19. if [ -n "${3}" ]; then
  20. git -C "${third_party}/${2}" checkout --quiet ${3}
  21. fi
  22. git -C "${third_party}/${2}" submodule sync --quiet
  23. git -C "${third_party}/${2}" submodule update --quiet --init --recursive
  24. }
  25. clean() {
  26. bold "armnn clean"
  27. rm -rf ${third_party}/armnn
  28. }
  29. sync() {
  30. bold "armnn sync"
  31. git_sync https://github.com/google/flatbuffers.git flatbuffers
  32. git_sync https://github.com/ARM-software/armnn.git armnn master
  33. }
  34. install() {
  35. bold "armnn install"
  36. case "$(uname)" in
  37. "Linux")
  38. [ -n "$(which cmake)" ] || sudo apt install -y cmake
  39. ;;
  40. "Darwin")
  41. brew list cmake > /dev/null 2>&1 || brew install cmake > /dev/null
  42. ;;
  43. esac
  44. pushd "${third_party}/flatbuffers" > /dev/null
  45. cmake -G "Unix Makefiles" . > /dev/null
  46. make > /dev/null
  47. popd > /dev/null
  48. }
  49. schema() {
  50. bold "armnn schema"
  51. ${third_party}/flatbuffers/flatc --no-js-exports --js ${third_party}/armnn/src/armnnSerializer/ArmnnSchema.fbs
  52. mv ./ArmnnSchema_generated.js ${src}/armnn-schema.js
  53. cat <<EOT >> ${src}/armnn-schema.js
  54. if (typeof module !== 'undefined' && typeof module.exports === 'object') {
  55. module.exports = armnnSerializer;
  56. }
  57. EOT
  58. }
  59. while [ "$#" != 0 ]; do
  60. command="$1" && shift
  61. case "${command}" in
  62. "clean") clean;;
  63. "sync") sync;;
  64. "install") install;;
  65. "schema") schema;;
  66. esac
  67. done