49 lines
1.0 KiB
Bash
49 lines
1.0 KiB
Bash
|
|
#!/bin/sh
|
||
|
|
set -eu
|
||
|
|
|
||
|
|
VERSION="${1:?usage: build_iperf3.sh <version> [output_dir]}"
|
||
|
|
OUTPUT_DIR="${2:-$PWD/dist}"
|
||
|
|
WORKDIR="${TMPDIR:-/tmp}/iperf3-build-${VERSION}"
|
||
|
|
PREFIX_NAME="iperf3-${VERSION}-linux-amd64-musl-static"
|
||
|
|
|
||
|
|
rm -rf "$WORKDIR"
|
||
|
|
mkdir -p "$WORKDIR" "$OUTPUT_DIR"
|
||
|
|
cd "$WORKDIR"
|
||
|
|
|
||
|
|
apk add --no-cache \
|
||
|
|
bash \
|
||
|
|
build-base \
|
||
|
|
curl \
|
||
|
|
file \
|
||
|
|
linux-headers \
|
||
|
|
openssl-dev \
|
||
|
|
tar \
|
||
|
|
xz \
|
||
|
|
zlib-dev
|
||
|
|
|
||
|
|
curl -fsSLO "https://downloads.es.net/pub/iperf/iperf-${VERSION}.tar.gz"
|
||
|
|
tar -xzf "iperf-${VERSION}.tar.gz"
|
||
|
|
cd "iperf-${VERSION}"
|
||
|
|
|
||
|
|
export CFLAGS="-O2 -static"
|
||
|
|
export CPPFLAGS=""
|
||
|
|
export LDFLAGS="-static"
|
||
|
|
|
||
|
|
./configure \
|
||
|
|
--disable-shared \
|
||
|
|
--enable-static \
|
||
|
|
--without-sctp
|
||
|
|
|
||
|
|
make -j"$(getconf _NPROCESSORS_ONLN || echo 2)"
|
||
|
|
strip src/iperf3
|
||
|
|
|
||
|
|
install -m 0755 src/iperf3 "$OUTPUT_DIR/$PREFIX_NAME"
|
||
|
|
(
|
||
|
|
cd "$OUTPUT_DIR"
|
||
|
|
tar -czf "${PREFIX_NAME}.tar.gz" "$PREFIX_NAME"
|
||
|
|
sha256sum "$PREFIX_NAME" "${PREFIX_NAME}.tar.gz" > "${PREFIX_NAME}.sha256"
|
||
|
|
)
|
||
|
|
|
||
|
|
file "$OUTPUT_DIR/$PREFIX_NAME"
|
||
|
|
ldd "$OUTPUT_DIR/$PREFIX_NAME" || true
|