pyodide/tools/dependency-check.sh

58 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
failure_exit() {
echo >&2 "Could not find ${1}. Please install that before continuing."
exit 1
}
check_python_version() {
if ! command -v python"$PYMAJOR"."$PYMINOR" &> /dev/null; then
echo >&2 "Must compile with python $PYMAJOR.$PYMINOR."
exit 1
fi
}
check_python_headers() {
local python_headers_present
python_headers_present=$(pkg-config --libs python-"$PYMAJOR"."$PYMINOR")
if [ ! "${python_headers_present}" ]; then
failure_exit "Python $PYMAJOR.$PYMINOR headers"
fi
}
check_binary_present() {
local binary_exists
binary_exists="$(command -v "${1}")"
if [ ! "${binary_exists}" ]; then
failure_exit "${1}"
fi
}
check_pkgconfig() {
check_binary_present "pkg-config"
}
check_md5sum() {
check_binary_present "md5sum"
}
check_fortran_dependencies() {
check_binary_present "gfortran"
check_binary_present "f2c"
}
check_pyyaml() {
local pyyaml_import_check
pyyaml_import_check="$(python3 -c 'import yaml' 2>&1)"
if [ "${pyyaml_import_check}" ]; then
failure_exit "PyYAML"
fi
}
check_python_version
check_pkgconfig
#check_python_headers
check_fortran_dependencies
check_pyyaml
check_md5sum