From fdb7d87d4fd3c0e42658e8bb442db42a64f6c594 Mon Sep 17 00:00:00 2001 From: Mike Gehard Date: Sat, 24 Aug 2013 13:37:14 -0600 Subject: [PATCH] Cross compile it up. --- .gitignore | 1 + bin/build-all | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100755 bin/build-all diff --git a/.gitignore b/.gitignore index 14e9c2245..17c3ccf30 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ _testmain.go *.exe out/ +release/ diff --git a/bin/build-all b/bin/build-all new file mode 100755 index 000000000..f5ae30b63 --- /dev/null +++ b/bin/build-all @@ -0,0 +1,32 @@ +#!/bin/bash + +set -e + +echo "Creating release dir..." +mkdir -p release + +EXECUTABLE_NAME="exercism" + +PLATFORMS="darwin/386 darwin/amd64 linux/386 linux/amd64 windows/386 windows/amd64" + +function build-architecture { + GOOS=${1%/*} + GOARCH=${1#*/} + echo "Creating $GOOS $GOARCH binary..." + + GOOS=$GOOS GOARCH=$GOARCH "$(dirname $0)/build" + cd out + + if [ $GOOS == windows ]; then + mv $EXECUTABLE_NAME $EXECUTABLE_NAME.exe + tar cvzf ../release/$EXECUTABLE_NAME-$GOOS-$GOARCH.tgz $EXECUTABLE_NAME.exe + else + tar cvzf ../release/$EXECUTABLE_NAME-$GOOS-$GOARCH.tgz $EXECUTABLE_NAME + fi + + cd .. +} + +for PLATFORM in $PLATFORMS; do + build-architecture $PLATFORM +done \ No newline at end of file