30 lines
672 B
Bash
Executable File
30 lines
672 B
Bash
Executable File
#!/bin/bash -eu
|
|
#
|
|
# Build on all supported architectures & operating systems
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
export GO111MODULE=on
|
|
# Discard resulting binary by writing to /dev/null
|
|
B="go build -tags without_openssl -o /dev/null"
|
|
|
|
set -x
|
|
|
|
export CGO_ENABLED=0
|
|
|
|
GOOS=linux GOARCH=amd64 $B
|
|
|
|
# See https://github.com/golang/go/wiki/GoArm
|
|
GOOS=linux GOARCH=arm GOARM=7 $B
|
|
GOOS=linux GOARCH=arm64 $B
|
|
|
|
# MacOS on Intel
|
|
GOOS=darwin GOARCH=amd64 $B
|
|
|
|
# MacOS on Apple Silicon M1.
|
|
# Go 1.16 added support for the M1 and added ios/arm64,
|
|
# so we use this to check if we should attempt a build.
|
|
if go tool dist list | grep ios/arm64 ; then
|
|
GOOS=darwin GOARCH=arm64 $B
|
|
fi
|