fetch-perf-libs.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env bash
  2. PERF_LIBS_VERSION=v0.19.3
  3. VERSION=$PERF_LIBS_VERSION-1
  4. set -e
  5. cd "$(dirname "$0")"
  6. if [[ $VERSION != "$(cat target/perf-libs/.version 2> /dev/null)" ]]; then
  7. if [[ $(uname) != Linux ]]; then
  8. echo Note: Performance libraries are only available for Linux
  9. exit 0
  10. fi
  11. if [[ $(uname -m) != x86_64 ]]; then
  12. echo Note: Performance libraries are only available for x86_64 architecture
  13. exit 0
  14. fi
  15. rm -rf target/perf-libs
  16. mkdir -p target/perf-libs
  17. (
  18. set -x
  19. cd target/perf-libs
  20. if [[ -r ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz ]]; then
  21. cp ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz solana-perf.tgz
  22. else
  23. curl -L --retry 5 --retry-delay 2 --retry-connrefused -o solana-perf.tgz \
  24. https://github.com/solana-labs/solana-perf-libs/releases/download/$PERF_LIBS_VERSION/solana-perf.tgz
  25. fi
  26. tar zxvf solana-perf.tgz
  27. if [[ ! -r ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz ]]; then
  28. # Save it for next time
  29. mkdir -p ~/.cache
  30. mv solana-perf.tgz ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz
  31. fi
  32. echo "$VERSION" > .version
  33. )
  34. # Setup symlinks so the perf-libs/ can be found from all binaries run out of
  35. # target/
  36. for dir in target/{debug,release}/{,deps/}; do
  37. mkdir -p $dir
  38. ln -sfT ../perf-libs ${dir}perf-libs
  39. done
  40. fi
  41. exit 0