#!/bin/bash

set -e

# This uses gox from https://github.com/mitchellh/gox
# Make sure you've run gox -build-toolchain - not required for go >= 1.5

if [ "$1" == "" ]; then
    echo "Syntax: $0 Version"
    exit 1
fi
VERSION="$1"

rm -rf build

# Disable CGO and dynamic builds on all platforms (including build patform)
export CGO_ENABLED=0

# Arch pairs we build for
# gox -osarch-list - for definitive list
# go tool dist list - or this

OSARCH="\
windows/386
windows/amd64
darwin/386
darwin/amd64
linux/386
linux/amd64
linux/arm
linux/arm64
freebsd/386
freebsd/amd64
freebsd/arm
netbsd/386
netbsd/amd64
netbsd/arm
openbsd/386
openbsd/amd64
plan9/386
plan9/amd64
solaris/amd64"

# Make space separated
OSARCH=${OSARCH//$'\n'/ }

gox --ldflags "-s -X github.com/ncw/rclone/fs.Version=${VERSION}" -output "build/{{.Dir}}-${VERSION}-{{.OS}}-{{.Arch}}/{{.Dir}}" -osarch "${OSARCH}"

mv build/rclone-${VERSION}-darwin-amd64 build/rclone-${VERSION}-osx-amd64
mv build/rclone-${VERSION}-darwin-386 build/rclone-${VERSION}-osx-386

cd build

for d in `ls`; do
    cp -a ../MANUAL.txt $d/README.txt
    cp -a ../MANUAL.html $d/README.html
    cp -a ../rclone.1 $d/
    zip -r9 $d.zip $d
    d_current=${d/-${VERSION}/-current}
    ln $d.zip $d_current.zip
    rm -rf $d
done

cd ..
