#!/bin/bash
set -e

BINARY_NAME="docker-$VERSION"
BINARY_EXTENSION="$(binary_extension)"
BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION"

source "${MAKEDIR}/.go-autogen"

(
if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARCH)" ]; then
	# must be cross-compiling!
	case "$(go env GOOS)/$(go env GOARCH)" in
		windows/amd64)
			export CC=x86_64-w64-mingw32-gcc
			export CGO_ENABLED=1
			export LDFLAGS_STATIC_DOCKER="$LDFLAGS_STATIC_DOCKER -linkmode internal -extld=${CC}"
			;;
	esac
fi

if [ "$(go env GOHOSTOS)/$(go env GOHOSTARCH)" == "windows/amd64" ] && [ "$(go env GOOS)" == "windows" ]; then
	# native compilation of Windows on Windows with golang 1.5+ needs linkmode internal
	# https://github.com/golang/go/issues/13070
	export LDFLAGS_STATIC_DOCKER="$LDFLAGS_STATIC_DOCKER -linkmode=internal"
fi

if [ "$(go env GOOS)" == "linux" ] ; then
	case "$(go env GOARCH)" in
		arm*|386)
			# linking for Linux on arm or x86 needs external linking to avoid
			# https://github.com/golang/go/issues/9510 until we move to Go 1.6
			if [ "$IAMSTATIC" == "true" ] ; then
				export EXTLDFLAGS_STATIC="$EXTLDFLAGS_STATIC -zmuldefs"
				export LDFLAGS_STATIC_DOCKER="$LDFLAGS_STATIC -extldflags \"$EXTLDFLAGS_STATIC\""

			else
				export LDFLAGS="$LDFLAGS -extldflags -zmuldefs"
			fi
			;;
	esac
fi

if [ "$IAMSTATIC" == "true" ] && [ "$(go env GOHOSTOS)" == "linux" ] && [ "$DOCKER_EXPERIMENTAL" ]; then
	if  [ "${GOOS}/${GOARCH}" == "darwin/amd64" ]; then
		export CGO_ENABLED=1
		export CC=o64-clang
		export LDFLAGS='-linkmode external -s'
		export LDFLAGS_STATIC_DOCKER='-extld='${CC}
	else
		export BUILDFLAGS=( "${BUILDFLAGS[@]/pkcs11 /}" ) # we cannot dlopen in pkcs11 in a static binary
	fi
fi

echo "Building: $DEST/$BINARY_FULLNAME"
go build \
	-o "$DEST/$BINARY_FULLNAME" \
	"${BUILDFLAGS[@]}" \
	-ldflags "
		$LDFLAGS
		$LDFLAGS_STATIC_DOCKER
	" \
	./docker
)

echo "Created binary: $DEST/$BINARY_FULLNAME"
ln -sf "$BINARY_FULLNAME" "$DEST/docker$BINARY_EXTENSION"

hash_files "$DEST/$BINARY_FULLNAME"
