12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/bin/bash
- set -e
- # explicit list of os/arch combos that support being a daemon
- declare -A daemonSupporting
- daemonSupporting=(
- [linux/amd64]=1
- [windows/amd64]=1
- )
- # if we have our linux/amd64 version compiled, let's symlink it in
- if [ -x "$DEST/../binary-daemon/dockerd-$VERSION" ]; then
- arch=$(go env GOHOSTARCH)
- mkdir -p "$DEST/linux/${arch}"
- (
- cd "$DEST/linux/${arch}"
- ln -s ../../../binary-daemon/* ./
- ln -s ../../../binary-client/* ./
- )
- echo "Created symlinks:" "$DEST/linux/${arch}/"*
- fi
- for platform in $DOCKER_CROSSPLATFORMS; do
- (
- export KEEPDEST=1
- export DEST="$DEST/$platform" # bundles/VERSION/cross/GOOS/GOARCH/docker-VERSION
- mkdir -p "$DEST"
- ABS_DEST="$(cd "$DEST" && pwd -P)"
- export GOOS=${platform%/*}
- export GOARCH=${platform##*/}
- if [ "$GOOS" != "solaris" ]; then
- # TODO. Solaris cannot be cross build because of CGO calls.
- if [ -z "${daemonSupporting[$platform]}" ]; then
- # we just need a simple client for these platforms
- export LDFLAGS_STATIC_DOCKER=""
- # remove the "daemon" build tag from platforms that aren't supported
- export BUILDFLAGS=( "${ORIG_BUILDFLAGS[@]/ daemon/}" )
- source "${MAKEDIR}/binary-client"
- else
- source "${MAKEDIR}/binary-client"
- source "${MAKEDIR}/binary-daemon"
- fi
- fi
- )
- done
|