diff options
author | Simon Glass <sjg@chromium.org> | 2018-01-05 11:54:12 -0700 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2018-01-08 17:55:05 +1100 |
commit | 962a45ca034d5cb8a0d40de46d28f4c98d341707 (patch) | |
tree | f65c8a03295f99852f930c6fb3135497bc5c36ac | |
parent | cd6ea1b2bea62fc11ee56116a60896d527a792b8 (diff) | |
download | device-tree-compiler-962a45ca034d5cb8a0d40de46d28f4c98d341707.tar.gz |
Avoid installing pylibfdt when dependencies are missing
At present we have a build check that python-dev and swig are available.
If they are not, we print a message and skip building pylibfdt.
However this check is not currently present with 'make install'. The
install is attempted, and fails. See crbug.com/789189
Split the check out into a separate script and use it twice, once for the
build and once for the install. This corrects the error.
Reported-by: Mike Frysinger <vapier@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | Makefile | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -130,19 +130,23 @@ SCRIPTS = dtdiff all: $(BIN) libfdt -# We need both Python and swig to build pylibfdt. -.PHONY: maybe_pylibfdt -maybe_pylibfdt: FORCE +# We need both Python and swig to build/install pylibfdt. +# This builds the given make ${target} if those deps are found. +check_python_deps = \ if $(PKG_CONFIG) --cflags python2 >/dev/null 2>&1; then \ if which swig >/dev/null 2>&1; then \ can_build=yes; \ fi; \ fi; \ - if [ "$$can_build" = "yes" ]; then \ - $(MAKE) pylibfdt; \ + if [ "$${can_build}" = "yes" ]; then \ + $(MAKE) $${target}; \ else \ - echo "## Skipping pylibfdt (install python dev and swig to build)"; \ - fi + echo "\#\# Skipping pylibfdt (install python dev and swig to build)"; \ + fi ; + +.PHONY: maybe_pylibfdt +maybe_pylibfdt: FORCE + target=pylibfdt; $(check_python_deps) ifeq ($(NO_PYTHON),) all: maybe_pylibfdt @@ -213,8 +217,12 @@ install-includes: install: install-bin install-lib install-includes +.PHONY: maybe_install_pylibfdt +maybe_install_pylibfdt: FORCE + target=install_pylibfdt; $(check_python_deps) + ifeq ($(NO_PYTHON),) -install: install_pylibfdt +install: maybe_install_pylibfdt endif $(VERSION_FILE): Makefile FORCE |