Backend server for SDL
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

55 lines
2.5 KiB

#!/usr/bin/env bash
# Copyright 2021-2022 The Hush Developers
# Distributed under the GPLv3 software license, see the accompanying
# file LICENSE or https://www.gnu.org/licenses/gpl-3.0.en.html
# Purpose: Script to build Hush lightwalletd on x86 64-bit arch
## Usage: ./util/build.sh
# Check if go is installed on system...
v=`go version | { read _ _ v _; echo ${v#go}; }`
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
# Check if go is installed on system and exits if it is not
if ! [ -x "$(command -v go)" ]; then
echo 'Error: go is not installed. Install go and try again.' >&2
exit 1
# If go is installed, then check system for at least version 1.13.0
elif [ $(version $v) -lt $(version "1.13.0") ]; then
echo 'Error: the go version you have installed requires at least version 1.13, which your system does not have installed. Install a newer version of go and try again.' >&2
echo ''
echo "Try out gobrew to install a newer version than what your OS package manager supplies."
exit 1
fi
echo ""
echo "Welcome to the Hush magic folks..."
echo ""
echo ".------..------..------..------..------..------..------..------..------..------..------..------."
echo "|L.--. ||I.--. ||G.--. ||H.--. ||T.--. ||W.--. ||A.--. ||L.--. ||L.--. ||E.--. ||T.--. ||D.--. |"
echo "| :/\: || (\/) || :/\: || :/\: || :/\: || :/\: || (\/) || :/\: || :/\: || (\/) || :/\: || :/\: |"
echo "| (__) || :\/: || :\/: || (__) || (__) || :\/: || :\/: || (__) || (__) || :\/: || (__) || (__) |"
echo "| '--'L|| '--'I|| '--'G|| '--'H|| '--'T|| '--'W|| '--'A|| '--'L|| '--'L|| '--'E|| '--'T|| '--'D|"
echo "+------'+------'+------'+------'+------'+------'+------'+------'+------'+------'+------'+------'"
# now to compiling...
echo ""
echo "You have at least go 1.13.0 installed, so starting to compile Hush lightwalletd for you..."
cd `pwd`/cmd/server
# Add diff build flags per golang versions [ Search -mod= here https://go.dev/ref/mod ]
if [ $(version $v) -lt $(version "1.16.0") ]; then
go build -o lightwalletd main.go
else
go build -mod=mod -o lightwalletd main.go
fi
# check if compile was success
if [ $? -ne 0 ]; then
echo ""
echo 'Error: Something went wrong and lightwalletd did not build successfully... Please reach out if you need support.' >&2
exit 1
else
mv lightwalletd `pwd`/../../lightwalletd
echo ""
echo "Hush lightwalletd is now compiled for you. Enjoy and reach out if you need support."
echo "For options, run ./lightwalletd --help"
fi