123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/bin/bash
- set -e
- BINARY_NAME="$BINARY_SHORT_NAME-$VERSION"
- BINARY_EXTENSION="$(binary_extension)"
- BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION"
- source "${MAKEDIR}/.go-autogen"
- (
- export GOGC=${DOCKER_BUILD_GOGC:-1000}
- if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARCH)" ]; then
- # must be cross-compiling!
- case "$(go env GOOS)/$(go env GOARCH)" in
- windows/amd64)
- export CC=x86_64-w64-mingw32-gcc
- export CGO_ENABLED=1
- ;;
- esac
- fi
- if [ "$IAMSTATIC" == "true" ] && [ "$(go env GOHOSTOS)" == "linux" ]; then
- if [ "${GOOS}/${GOARCH}" == "darwin/amd64" ]; then
- export CGO_ENABLED=1
- export CC=o64-clang
- export LDFLAGS='-linkmode external -s'
- export LDFLAGS_STATIC_DOCKER='-extld='${CC}
- else
- export BUILDFLAGS=( "${BUILDFLAGS[@]/pkcs11 /}" ) # we cannot dlopen in pkcs11 in a static binary
- fi
- fi
- echo "Building: $DEST/$BINARY_FULLNAME"
- go build \
- -o "$DEST/$BINARY_FULLNAME" \
- "${BUILDFLAGS[@]}" \
- -ldflags "
- $LDFLAGS
- $LDFLAGS_STATIC_DOCKER
- " \
- $SOURCE_PATH
- )
- echo "Created binary: $DEST/$BINARY_FULLNAME"
- ln -sf "$BINARY_FULLNAME" "$DEST/$BINARY_SHORT_NAME$BINARY_EXTENSION"
- hash_files "$DEST/$BINARY_FULLNAME"
|