#!/bin/sh # This script is executed by `./mk` when building inside # an Alpine Linux docker container. Using Alpine Linux, which # uses musl libc, allows us to emit static binaries. set -e if [ "$GOARCH" = "" ]; then echo 'fatal: GOARCH is not set' 1>&2 exit 1 fi set -x apk update apk upgrade apk add --no-progress gcc git linux-headers musl-dev # some of the following exports are redundant but are however # useful because they provide explicit logging export GOARM=$GOARM export CGO_ENABLED=1 export GOOS=linux export GOARCH=$GOARCH archname=$GOARCH if [ "$GOARCH" = "arm" -a "$GOARM" = "7" ]; then archname="armv7" fi go build -o "./CLI/ooniprobe-linux-$archname" -ldflags='-s -w -extldflags "-static"' "$@" ./cmd/ooniprobe