#!/usr/bin/env bash set -e BATS_ROOT="${0%/*}" PREFIX="${1%/}" LIBDIR="${2:-lib}" if [[ -z "$PREFIX" ]]; then printf '%s\n' \ "usage: $0 [base_libdir]" \ " e.g. $0 /usr/local" \ " $0 /usr/local lib64" >&2 exit 1 fi install -d -m 755 "$PREFIX"/{bin,libexec/bats-core,"${LIBDIR}"/bats-core,share/man/man{1,7}} install -m 755 "$BATS_ROOT/bin"/* "$PREFIX/bin" install -m 755 "$BATS_ROOT/libexec/bats-core"/* "$PREFIX/libexec/bats-core" install -m 755 "$BATS_ROOT/lib/bats-core"/* "$PREFIX/${LIBDIR}/bats-core" install -m 644 "$BATS_ROOT/man/bats.1" "$PREFIX/share/man/man1" install -m 644 "$BATS_ROOT/man/bats.7" "$PREFIX/share/man/man7" read -rd '' BATS_EXE_CONTENTS <"$PREFIX/bin/bats" || true BATS_EXE_CONTENTS=${BATS_EXE_CONTENTS/"BATS_BASE_LIBDIR=lib"/"BATS_BASE_LIBDIR=${LIBDIR}"} printf "%s" "$BATS_EXE_CONTENTS" > "$PREFIX/bin/bats" echo "Installed Bats to $PREFIX/bin/bats"