#!/bin/bash set -e BINARY_NAME="docker-$VERSION" BINARY_EXTENSION="$(binary_extension)" BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION" source "${MAKEDIR}/.go-autogen" if [[ "${BUILDFLAGS[@]}" =~ 'netgo ' ]]; then EXTLDFLAGS_STATIC+=' -lnetgo' fi # gccgo require explicit flag -pthread to allow goroutines to work. go build -compiler=gccgo \ -o "$DEST/$BINARY_FULLNAME" \ "${BUILDFLAGS[@]}" \ -gccgoflags " -g $EXTLDFLAGS_STATIC -Wl,--no-export-dynamic -ldl -pthread " \ ./docker echo "Created binary: $DEST/$BINARY_FULLNAME" ln -sf "$BINARY_FULLNAME" "$DEST/docker$BINARY_EXTENSION" hash_files "$DEST/$BINARY_FULLNAME" # Add nested executables to bundle dir so we have complete set of # them available, but only if the native OS/ARCH is the same as the # OS/ARCH of the build target if [ "$(go env GOOS)/$(go env GOARCH)" == "$(go env GOHOSTOS)/$(go env GOHOSTARCH)" ]; then echo "Copying nested executables into $DEST" (set -x if [ -x /usr/local/bin/runc ]; then cp /usr/local/bin/runc $DEST/ cp /usr/local/bin/ctr $DEST/ cp /usr/local/bin/containerd $DEST/ cp /usr/local/bin/containerd-shim $DEST/ fi ) fi