mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-03 20:27:35 +03:00
33 lines
834 B
Bash
Executable file
33 lines
834 B
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
dist="$1"
|
|
goos=$(echo "$dist" | cut -d "/" -f1)
|
|
goarch=$(echo "$dist" | cut -d "/" -f2)
|
|
|
|
# cross-compiling for android is a pain...
|
|
if [[ "$goos" == "android" ]]; then exit; fi
|
|
# iOS builds require Cgo, see https://github.com/golang/go/issues/43343
|
|
# Cgo would then need a C cross compilation setup. Not worth the hassle.
|
|
if [[ "$goos" == "ios" ]]; then exit; fi
|
|
|
|
# Write all log output to a temporary file instead of to stdout.
|
|
# That allows running this script in parallel, while preserving the correct order of the output.
|
|
log_file=$(mktemp)
|
|
|
|
error_handler() {
|
|
cat "$log_file" >&2
|
|
rm "$log_file"
|
|
exit 1
|
|
}
|
|
|
|
trap 'error_handler' ERR
|
|
|
|
echo "$dist" >> "$log_file"
|
|
out="main-$goos-$goarch"
|
|
GOOS=$goos GOARCH=$goarch go build -o $out example/main.go >> "$log_file" 2>&1
|
|
rm $out
|
|
|
|
cat "$log_file"
|
|
rm "$log_file"
|