wallet-core/configure
Florian Dold 08b490783b
comments
2019-08-19 14:20:32 +02:00

100 lines
2.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -eu
prefix=/usr/local
usage() {
echo "Usage: ./configure [OPTION]"
echo
echo "Configuration:"
echo " -h, --help display this help and exit"
echo
echo "Installation directories:"
echo " --prefix=PREFIX install architecture-independent files in PREFIX [$prefix]"
}
# -allow a command to fail with !s side effect on errexit
# -use return value from ${PIPESTATUS[0]}, because ! hosed $?
! getopt --test > /dev/null
if [[ ${PIPESTATUS[0]} -ne 4 ]]; then
echo 'getopt not available'
exit 1
fi
LONGOPTS=prefix:,help
OPTIONS=h
! PARSED=$(getopt --options=$OPTIONS --longoptions=$LONGOPTS --name "$0" -- "$@")
if [[ ${PIPESTATUS[0]} -ne 0 ]]; then
# e.g. return value is 1
# then getopt has complained about wrong arguments to stdout
exit 2
fi
# read getopts output this way to handle the quoting right:
eval set -- "$PARSED"
while true; do
case "$1" in
--prefix)
prefix="$2"
shift 2
;;
-h|--help)
usage
exit 1
;;
--)
shift
break
;;
*)
echo "Programming error"
exit 3
;;
esac
done
cat << EOF > config.mk
# this file is autogenerated by ./configure
prefix=$prefix
EOF
node_version=$(node --version)
if [ ! "$?" -eq 0 ]; then
echo 'Error: node executable not found.'
echo 'If you are using ubuntu or debian, try installing the'
echo 'node-legacy package or symlink node to nodejs.'
exit 1
fi
echo "Using node ${node_version}"
if ! node -p 'process.exit(!(/v([0-9]+)/.exec(process.version)[1] >= 4))'; then
echo 'Your node version is too old, use something >v4.x.x'
exit 1
fi
if ! yarn --version &>/dev/null; then
echo 'Error: yarn missing. See https://yarnpkg.com/en/docs/install'
exit 1
fi
if ! find --version &>/dev/null; then
echo 'Error: find missing'
exit 1
fi
if ! xargs --version &>/dev/null; then
echo 'Error: xargs missing'
exit 1
fi
if ! msgmerge --version &>/dev/null; then
echo "Warning: msgmerge missing, i18n won't work"
exit 1
fi