#!/bin/sh

# LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When
# updating the binary version, consider updating github.com/docker/libnetwork
# in vendor.conf accordingly
LIBNETWORK_COMMIT=1b91bc94094ecfdae41daa465cc0c8df37dfb3dd

install_proxy() {
	case "$1" in
		"dynamic")
			install_proxy_dynamic
			return
			;;
		"")
			export CGO_ENABLED=0
			_install_proxy
			;;
		*)
			echo 'Usage: $0 [dynamic]'
			;;
	esac
}

install_proxy_dynamic() {
	export PROXY_LDFLAGS="-linkmode=external" install_proxy
	export BUILD_MODE="-buildmode=pie"
	_install_proxy
}

_install_proxy() {
	echo "Install docker-proxy version $LIBNETWORK_COMMIT"
	git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork"
	cd "$GOPATH/src/github.com/docker/libnetwork"
	git checkout -q "$LIBNETWORK_COMMIT"
	go build $BUILD_MODE -ldflags="$PROXY_LDFLAGS" -o ${PREFIX}/docker-proxy github.com/docker/libnetwork/cmd/proxy
}


