wallet-core/configure

100 lines
2.0 KiB
Plaintext
Raw Normal View History

2016-03-21 16:26:08 +01:00
#!/usr/bin/env bash
2016-03-18 15:11:16 +01:00
2016-03-21 18:24:55 +01:00
set -eu
2019-08-19 14:08:14 +02:00
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]"
}
2019-09-18 14:46:58 +02:00
# -allow a command to fail with !'s side effect on errexit
2019-08-19 14:08:14 +02:00
# -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
2019-09-18 14:46:58 +02:00
# read getopt's output this way to handle the quoting right:
2019-08-19 14:08:14 +02:00
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
2019-08-19 14:20:32 +02:00
cat << EOF > config.mk
# this file is autogenerated by ./configure
prefix=$prefix
EOF
2019-08-19 14:08:14 +02:00
2016-03-21 18:24:55 +01:00
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
2016-09-26 18:48:14 +02:00
echo 'Your node version is too old, use something >v4.x.x'
exit 1
2016-09-26 18:48:14 +02:00
fi
2017-05-23 13:16:41 +02:00
if ! yarn --version &>/dev/null; then
2017-05-23 13:18:23 +02:00
echo 'Error: yarn missing. See https://yarnpkg.com/en/docs/install'
2016-03-18 15:11:16 +01:00
exit 1
fi
2016-03-21 18:24:55 +01:00
2017-05-23 13:18:23 +02:00
if ! find --version &>/dev/null; then
2016-03-21 18:24:55 +01:00
echo 'Error: find missing'
exit 1
fi
2017-05-23 13:18:23 +02:00
if ! xargs --version &>/dev/null; then
2016-03-21 18:24:55 +01:00
echo 'Error: xargs missing'
exit 1
fi
2017-05-23 13:18:23 +02:00
if ! msgmerge --version &>/dev/null; then
2016-03-21 18:24:55 +01:00
echo "Warning: msgmerge missing, i18n won't work"
exit 1
fi