moby--moby/hack/make/gccgo

51 lines
1.1 KiB
Bash

#!/bin/bash
set -e
BINARY_NAME="dockerd-$VERSION"
BINARY_EXTENSION="$(binary_extension)"
BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION"
CLIENTBIN_NAME="docker-$VERSION"
CLIENTBIN_FULLNAME="$CLIENTBIN_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
" \
./cmd/dockerd
echo "Created binary: $DEST/$BINARY_FULLNAME"
ln -sf "$BINARY_FULLNAME" "$DEST/dockerd$BINARY_EXTENSION"
copy_containerd "$DEST" "hash"
hash_files "$DEST/$BINARY_FULLNAME"
go build -compiler=gccgo \
-o "$DEST/$CLIENTBIN_FULLNAME" \
"${BUILDFLAGS[@]}" \
-gccgoflags "
-g
$EXTLDFLAGS_STATIC
-Wl,--no-export-dynamic
-ldl
-pthread
" \
./cmd/docker
echo "Created binary: $DEST/$CLIENTBIN_FULLNAME"
ln -sf "$CLIENTBIN_FULLNAME" "$DEST/docker$BINARY_EXTENSION"
hash_files "$DEST/$CLIENTBIN_FULLNAME"