| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/usr/bin/env bash
- function installPerfLibSymlinks() {
- for dir in target/{debug,release}/{,deps/}; do
- mkdir -p "$dir"
- ln -sfT "$1" "${dir}perf-libs"
- done
- }
- if [[ -n "$SOLANA_PERF_LIBS_PATH" ]]; then
- mkdir -p target
- ln -sfT "$SOLANA_PERF_LIBS_PATH" target/perf-libs
- installPerfLibSymlinks "$SOLANA_PERF_LIBS_PATH"
- exit 0
- fi
- PERF_LIBS_VERSION=v0.19.3
- VERSION=$PERF_LIBS_VERSION-1
- set -e
- cd "$(dirname "$0")"
- if [[ $VERSION != "$(cat target/perf-libs/.version 2> /dev/null)" ]]; then
- if [[ $(uname) != Linux ]]; then
- echo Note: Performance libraries are only available for Linux
- exit 0
- fi
- if [[ $(uname -m) != x86_64 ]]; then
- echo Note: Performance libraries are only available for x86_64 architecture
- exit 0
- fi
- rm -rf target/perf-libs
- mkdir -p target/perf-libs
- (
- set -x
- cd target/perf-libs
- if [[ -r ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz ]]; then
- cp ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz solana-perf.tgz
- else
- curl -L --retry 5 --retry-delay 2 --retry-connrefused -o solana-perf.tgz \
- https://github.com/solana-labs/solana-perf-libs/releases/download/$PERF_LIBS_VERSION/solana-perf.tgz
- fi
- tar zxvf solana-perf.tgz
- if [[ ! -r ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz ]]; then
- # Save it for next time
- mkdir -p ~/.cache
- mv solana-perf.tgz ~/.cache/solana-perf-$PERF_LIBS_VERSION.tgz
- fi
- echo "$VERSION" > .version
- )
- # Setup symlinks so the perf-libs/ can be found from all binaries run out of
- # target/
- installPerfLibSymlinks ../perf-libs
- fi
- exit 0
|