configure.sh: Check for host-side tools and warn if something is missing.
The checks don't exit immediately so users won't have to rerun configure after installing only a single dependency.
This commit is contained in:
parent
68fc0e1c11
commit
f55d7adcb1
1 changed files with 30 additions and 0 deletions
30
configure.sh
30
configure.sh
|
@ -31,6 +31,21 @@ die() { err "$@"; exit 1; }
|
||||||
finish() { stat "$@"; exit 0; }
|
finish() { stat "$@"; exit 0; }
|
||||||
cmd() { showcmd "$@"; "$@"; }
|
cmd() { showcmd "$@"; "$@"; }
|
||||||
|
|
||||||
|
#
|
||||||
|
# Dependency Checks
|
||||||
|
#
|
||||||
|
|
||||||
|
MISSING_DEPENDENCIES=0
|
||||||
|
|
||||||
|
dependency_command() {
|
||||||
|
local COMMAND=$1
|
||||||
|
shift
|
||||||
|
if ! command -v "$COMMAND" &> /dev/null; then
|
||||||
|
err "Couldn't find command '$COMMAND'. Please install ${@:-$COMMAND}."
|
||||||
|
MISSING_DEPENDENCIES=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Configure
|
# Configure
|
||||||
#
|
#
|
||||||
|
@ -64,6 +79,21 @@ function configure() {
|
||||||
info "No build name specified, using default: $build_name"
|
info "No build name specified, using default: $build_name"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dependency_command fontforge
|
||||||
|
dependency_command find "findutils"
|
||||||
|
dependency_command make "GNU Make"
|
||||||
|
dependency_command rsync
|
||||||
|
dependency_command wget
|
||||||
|
dependency_command xz
|
||||||
|
dependency_command patch
|
||||||
|
dependency_command autoconf
|
||||||
|
dependency_command git
|
||||||
|
dependency_command python3
|
||||||
|
|
||||||
|
if [ "$MISSING_DEPENDENCIES" -ne 0 ]; then
|
||||||
|
die "Missing dependencies, cannot continue."
|
||||||
|
fi
|
||||||
|
|
||||||
## Write out config
|
## Write out config
|
||||||
# Don't die after this point or we'll have rather unhelpfully deleted the Makefile
|
# Don't die after this point or we'll have rather unhelpfully deleted the Makefile
|
||||||
[[ ! -e "$MAKEFILE" ]] || rm "$MAKEFILE"
|
[[ ! -e "$MAKEFILE" ]] || rm "$MAKEFILE"
|
||||||
|
|
Loading…
Reference in a new issue