2015-03-03 18:22:06 -05:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
BINARY_NAME="docker-$VERSION"
|
|
|
|
BINARY_EXTENSION="$(binary_extension)"
|
|
|
|
BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION"
|
|
|
|
|
2015-04-14 12:43:33 -04:00
|
|
|
source "${MAKEDIR}/.go-autogen"
|
2015-03-03 18:22:06 -05:00
|
|
|
|
2015-04-08 04:41:03 -04:00
|
|
|
if [[ "${BUILDFLAGS[@]}" =~ 'netgo ' ]]; then
|
2015-09-08 14:29:43 -04:00
|
|
|
EXTLDFLAGS_STATIC+=' -lnetgo'
|
2015-04-08 04:41:03 -04:00
|
|
|
fi
|
2015-02-24 13:33:18 -05:00
|
|
|
# gccgo require explicit flag -pthread to allow goroutines to work.
|
2015-03-17 23:17:28 -04:00
|
|
|
go build -compiler=gccgo \
|
2015-03-03 18:22:06 -05:00
|
|
|
-o "$DEST/$BINARY_FULLNAME" \
|
|
|
|
"${BUILDFLAGS[@]}" \
|
2015-03-17 23:17:28 -04:00
|
|
|
-gccgoflags "
|
2015-03-03 18:22:06 -05:00
|
|
|
-g
|
2015-09-08 14:29:43 -04:00
|
|
|
$EXTLDFLAGS_STATIC
|
2015-03-03 18:22:06 -05:00
|
|
|
-Wl,--no-export-dynamic
|
|
|
|
-ldl
|
2015-02-24 13:33:18 -05:00
|
|
|
-pthread
|
2015-03-03 18:22:06 -05:00
|
|
|
" \
|
|
|
|
./docker
|
|
|
|
|
|
|
|
echo "Created binary: $DEST/$BINARY_FULLNAME"
|
|
|
|
ln -sf "$BINARY_FULLNAME" "$DEST/docker$BINARY_EXTENSION"
|
|
|
|
|
|
|
|
hash_files "$DEST/$BINARY_FULLNAME"
|
2016-03-19 12:39:55 -04:00
|
|
|
|
|
|
|
# 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
|