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
|
geckodriver.log
|
||||||
firefox/
|
firefox/
|
||||||
.vscode
|
.vscode
|
||||||
|
.idea
|
||||||
|
|
||||||
build
|
build
|
||||||
downloads
|
downloads
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -1,5 +1,6 @@
|
||||||
PYODIDE_ROOT=$(abspath .)
|
PYODIDE_ROOT=$(abspath .)
|
||||||
include Makefile.envs
|
include Makefile.envs
|
||||||
|
.PHONY=check
|
||||||
|
|
||||||
FILEPACKAGER=$(PYODIDE_ROOT)/tools/file_packager.py
|
FILEPACKAGER=$(PYODIDE_ROOT)/tools/file_packager.py
|
||||||
|
|
||||||
|
@ -58,7 +59,8 @@ PARSO_LIBS=$(PARSO_ROOT)/__init__.py
|
||||||
|
|
||||||
SITEPACKAGES=root/lib/python$(PYMINOR)/site-packages
|
SITEPACKAGES=root/lib/python$(PYMINOR)/site-packages
|
||||||
|
|
||||||
all: build/pyodide.asm.js \
|
all: check \
|
||||||
|
build/pyodide.asm.js \
|
||||||
build/pyodide.asm.data \
|
build/pyodide.asm.data \
|
||||||
build/pyodide.js \
|
build/pyodide.js \
|
||||||
build/pyodide_dev.js \
|
build/pyodide_dev.js \
|
||||||
|
@ -250,3 +252,6 @@ emsdk/emsdk/.complete:
|
||||||
make -C emsdk
|
make -C emsdk
|
||||||
|
|
||||||
FORCE:
|
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