1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/hack/make/gccgo
Doug Davis 1bf5eb20e5 Add containerd/runc exes to bundle dir after build
Not sure if this is the right setup given the containerd change but I need
to have the built version of the nested exes (containerd, runc...) available
to me after the build is completed so I'm always testing using the latest
versions.  This PR will copy them into the same bundles dir so people can
them use them if they wish w/o having to build each separately.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-03-21 17:50:59 -07:00

44 lines
1.2 KiB
Bash

#!/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