Skip to content
Snippets Groups Projects
Unverified Commit 75af031c authored by Massimiliano Adamo's avatar Massimiliano Adamo
Browse files

allow to compile on every platform

parent 964e3248
No related branches found
No related tags found
No related merge requests found
......@@ -17,25 +17,67 @@ ln -sf "$REPO_DIR" "${GOPATH}/src/"
REPO_NAME=$(basename "$REPO_DIR")
cd "${GOPATH}/src/$REPO_NAME"
usage() {
echo "Usage: $(basename $0)"
echo " -h | --help [Print this help and exit]"
echo " --os (Create binary for this OS)"
echo " --arch (Compile for this architecture)"
echo ""
echo " Below is a list of supported combinations (1st column: OS / 2nd column: Arch):"
go tool dist list|awk -F'/' '{printf "OS: "$1"\011=> Arch: "$2"\n"}'
exit
}
OPTS=$(getopt -o "h" --longoptions "help,platform:,arch:" -- "$@")
eval set -- "$OPTS"
while true; do
case "$1" in
-h | --help)
usage
;;
--platform)
shift
PLATFORM="$1"
;;
--arch)
shift
ARCH="$1"
;;
--)
shift
break
;;
esac
shift
done
if [ -z $PLATFORM -o -z $ARCH ]; then
echo -e "\nYou need to supply platform and architecture\n"
usage
fi
EXECUTABLE_PATH="${GOPATH}/bin/${PLATFORM}_${ARCH}/${BIN_NAME}"
run_upx() {
if ! which upx &>/dev/null; then
echo "please download upx here https://github.com/upx/upx/releases"
echo "and store the executable within your \$PATH"
exit
fi
upx --brute ${GOPATH}/bin/windows_amd64/${BIN_NAME}
upx --brute "$EXECUTABLE_PATH"
}
# env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X main.appVersion=${PROG_VERSION} -X main.buildTime=${BUILDTIME}" .
env GOOS=windows GOARCH=amd64 go get -ldflags "-s -w -X main.appVersion=${PROG_VERSION} -X main.buildTime=${BUILDTIME}" .
env GOOS=$PLATFORM GOARCH=$ARCH go get -ldflags "-s -w -X main.appVersion=${PROG_VERSION} -X main.buildTime=${BUILDTIME}" .
if [ $? -gt 0 ]; then
echo -e "\nthere was an error while compiling the code\n"
exit
fi
while true; do
echo -e "\nUPX degrades performances but in the case of acme-downloader it is not noticeable\n"
echo -e "\nUPX degrades performances but in the case of acme-downloader it is not noticeable"
echo -e "UPX may or may not work for a specific platform (I haven't tried them)\n"
read -p "Do you wish to run upx against ${BIN_NAME}? (y/n) " yn
case $yn in
[Yy]*)
......@@ -50,4 +92,4 @@ while true; do
esac
done
echo -e "\nthe binary was compiled and it is avilable as:\n - ${GOPATH}/bin/windows_amd64/${BIN_NAME}\n"
echo -e "\nthe binary was compiled and it is avilable as:\n - \"$EXECUTABLE_PATH\"\n"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment