52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
PERF_LIBS_VERSION=v0.19.0
 | 
						|
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/
 | 
						|
  for dir in target/{debug,release}/{,deps/}; do
 | 
						|
    mkdir -p $dir
 | 
						|
    ln -sfT ../perf-libs ${dir}perf-libs
 | 
						|
  done
 | 
						|
 | 
						|
fi
 | 
						|
 | 
						|
exit 0
 |