mirror of https://github.com/pyodide/pyodide.git
Add dependency check for the builds. (#568)
* Add dependency check for the builds. * Use Python 3 specifically. * Use the right target.
This commit is contained in:
parent
ef01e7039d
commit
a1663e77e0
|
@ -10,6 +10,7 @@ __pycache__
|
|||
geckodriver.log
|
||||
firefox/
|
||||
.vscode
|
||||
.idea
|
||||
|
||||
build
|
||||
downloads
|
||||
|
|
7
Makefile
7
Makefile
|
@ -1,5 +1,6 @@
|
|||
PYODIDE_ROOT=$(abspath .)
|
||||
include Makefile.envs
|
||||
.PHONY=check
|
||||
|
||||
FILEPACKAGER=$(PYODIDE_ROOT)/tools/file_packager.py
|
||||
|
||||
|
@ -58,7 +59,8 @@ PARSO_LIBS=$(PARSO_ROOT)/__init__.py
|
|||
|
||||
SITEPACKAGES=root/lib/python$(PYMINOR)/site-packages
|
||||
|
||||
all: build/pyodide.asm.js \
|
||||
all: check \
|
||||
build/pyodide.asm.js \
|
||||
build/pyodide.asm.data \
|
||||
build/pyodide.js \
|
||||
build/pyodide_dev.js \
|
||||
|
@ -250,3 +252,6 @@ emsdk/emsdk/.complete:
|
|||
make -C emsdk
|
||||
|
||||
FORCE:
|
||||
|
||||
check:
|
||||
./tools/dependency-check.sh
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
failure_exit() {
|
||||
echo >&2 "Could not find ${1}. Please install that before continuing."
|
||||
exit 1
|
||||
}
|
||||
|
||||
check_python_headers() {
|
||||
local python_headers_present
|
||||
python_headers_present="$(pkg-config --libs python-3.7)"
|
||||
|
||||
if [ ! "${python_headers_present}" ]; then
|
||||
failure_exit "Python 3.7 headers"
|
||||
fi
|
||||
}
|
||||
|
||||
check_binary_present() {
|
||||
local binary_exists
|
||||
binary_exists="$(command -v "${1}")"
|
||||
if [ ! "${binary_exists}" ]; then
|
||||
failure_exit "${1}"
|
||||
fi
|
||||
}
|
||||
|
||||
check_fortran_dependencies() {
|
||||
check_binary_present "gfortran"
|
||||
check_binary_present "f2c"
|
||||
}
|
||||
|
||||
check_js_dependencies() {
|
||||
check_binary_present "lessc"
|
||||
check_binary_present "uglifyjs"
|
||||
}
|
||||
|
||||
check_pyyaml() {
|
||||
local pyyaml_import_check
|
||||
pyyaml_import_check="$(python3 -c 'import yaml')"
|
||||
if [ "${pyyaml_import_check}" ]; then
|
||||
failure_exit "PyYAML"
|
||||
fi
|
||||
}
|
||||
|
||||
check_python_headers
|
||||
check_fortran_dependencies
|
||||
check_js_dependencies
|
||||
check_pyyaml
|
Loading…
Reference in New Issue