summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-01-05 11:54:12 -0700
committerDavid Gibson <david@gibson.dropbear.id.au>2018-01-08 17:55:05 +1100
commit962a45ca034d5cb8a0d40de46d28f4c98d341707 (patch)
treef65c8a03295f99852f930c6fb3135497bc5c36ac
parentcd6ea1b2bea62fc11ee56116a60896d527a792b8 (diff)
downloaddevice-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--Makefile24
1 files changed, 16 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 5f1c274..6d55e13 100644
--- a/Makefile
+++ b/Makefile
@@ -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