diff --git a/.gitignore b/.gitignore index daf913b1..b7006615 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ _testmain.go *.exe *.test *.prof +*.tar.gz +*.zip diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..5f605e1b --- /dev/null +++ b/build.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -euo pipefail +set nullglob + +echo Get dependencies +go get -d + +rm -rf relaysrv-*-* + +build() { + export GOOS="$1" + export GOARCH="$2" + target="relaysrv-$GOOS-$GOARCH" + go build -v + mkdir "$target" + if [ -f relaysrv ] ; then + mv relaysrv "$target" + tar zcvf "$target.tar.gz" "$target" + fi + if [ -f relaysrv.exe ] ; then + mv relaysrv.exe "$target" + zip -r "$target.zip" "$target" + fi +} + +for goos in linux darwin windows freebsd openbsd netbsd solaris ; do + build "$goos" amd64 +done +for goos in linux windows freebsd openbsd netbsd ; do + build "$goos" 386 +done +build linux arm + +# Hack used because we run as root under Docker +if [[ ${CHOWN_USER:-} != "" ]] ; then + chown -R $CHOWN_USER . +fi