2020-03-09 09:59:43 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
if [[ -z "$1" ]]; then
|
|
|
|
PROGVER="$(git describe --tag)"
|
|
|
|
else
|
|
|
|
PROGVER="$1"
|
|
|
|
fi
|
|
|
|
|
|
|
|
CURRENT_DIR=$(pwd)
|
|
|
|
OUT_DIR=${CURRENT_DIR}/out
|
|
|
|
|
|
|
|
PROGNAME="librespeed-cli"
|
2024-09-10 16:51:43 +02:00
|
|
|
DEFS_PATH="github.com/librespeed/speedtest-cli"
|
2020-03-09 09:59:43 +08:00
|
|
|
BINARY=${PROGNAME}-$(go env GOOS)-$(go env GOARCH)
|
|
|
|
BUILD_DATE=$(date -u "+%Y-%m-%d %H:%M:%S %Z")
|
2024-09-10 16:51:43 +02:00
|
|
|
LDFLAGS="-w -s -X \"${DEFS_PATH}/defs.ProgName=${PROGNAME}\" -X \"${DEFS_PATH}/defs.ProgVersion=${PROGVER}\" -X \"${DEFS_PATH}/defs.BuildDate=${BUILD_DATE}\""
|
2020-03-09 09:59:43 +08:00
|
|
|
|
|
|
|
if [[ -n "${GOARM}" ]] && [[ "${GOARM}" -gt 0 ]]; then
|
|
|
|
BINARY=${BINARY}v${GOARM}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n "${GOMIPS}" ]]; then
|
|
|
|
BINARY=${BINARY}-${GOMIPS}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n "${GOMIPS64}" ]]; then
|
|
|
|
BINARY=${BINARY}-${GOMIPS64}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$(go env GOOS)" = "windows" ]]; then
|
|
|
|
BINARY=${BINARY}.exe
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ ! -d ${OUT_DIR} ]]; then
|
|
|
|
mkdir "${OUT_DIR}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -e ${OUT_DIR}/${BINARY} ]]; then
|
|
|
|
rm -f "${OUT_DIR}/${BINARY}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
go build -o "${OUT_DIR}/${BINARY}" -ldflags "${LDFLAGS}" -trimpath main.go
|
|
|
|
|
|
|
|
if [[ ! $(go env GOARCH) == mips64* ]] && [[ -x $(command -v upx) ]]; then
|
|
|
|
upx -qqq -9 "${OUT_DIR}/${BINARY}"
|
|
|
|
fi
|