aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-03-26 13:06:21 -0600
committerDavid Gibson <david@gibson.dropbear.id.au>2017-03-29 16:13:58 +1100
commite91c652af21557698751c3944ceb7c46e5e58164 (patch)
tree702e598f508a7c4027027ee36aa9b7d21b560978
parent8a892fd85d94c733bbf184ff6df5d0ad5422be12 (diff)
downloaddtc-e91c652af21557698751c3944ceb7c46e5e58164.zip
dtc-e91c652af21557698751c3944ceb7c46e5e58164.tar.gz
dtc-e91c652af21557698751c3944ceb7c46e5e58164.tar.bz2
pylibfdt: Enable installation of Python module
Adjust the setup script to support installation, and call it from the Makefile if enabled. It will be disabled if we were unable to build the module (e.g. due to swig being missing), or the NO_PYTHON environment variable is set. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--Makefile2
-rw-r--r--README7
-rw-r--r--pylibfdt/Makefile.pylibfdt14
3 files changed, 22 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 5cf4aee..52ff72c 100644
--- a/Makefile
+++ b/Makefile
@@ -195,7 +195,7 @@ install-includes:
$(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
$(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
-install: install-bin install-lib install-includes
+install: install-bin install-lib install-includes maybe_install_pylibfdt
$(VERSION_FILE): Makefile FORCE
$(call filechk,version)
diff --git a/README b/README
index d2323fd..5add557 100644
--- a/README
+++ b/README
@@ -50,6 +50,13 @@ If you add new features, please check code coverage:
# Open 'htmlcov/index.html' in your browser
+To install the library use:
+
+ make install_pylibfdt SETUP_PREFIX=/path/to/install_dir
+
+If SETUP_PREFIX is not provided, the default prefix is used, typically '/usr'
+or '/usr/local'. See Python's distutils documentation for details.
+
To disable building the python library, even if swig and Python are available,
use:
diff --git a/pylibfdt/Makefile.pylibfdt b/pylibfdt/Makefile.pylibfdt
index 861e67c..a0271da 100644
--- a/pylibfdt/Makefile.pylibfdt
+++ b/pylibfdt/Makefile.pylibfdt
@@ -14,4 +14,18 @@ $(WRAP): $(PYLIBFDT_srcdir)/libfdt.swig
@$(VECHO) SWIG $@
$(SWIG) -python -o $@ $<
+install_pylibfdt: $(WRAP) $(PYMODULE)
+ $(VECHO) INSTALL-PYLIB; \
+ SOURCES="$(PYLIBFDT_srcs) $(WRAP)" CPPFLAGS="$(CPPFLAGS)" \
+ OBJDIR="$(PYLIBFDT_objdir)" \
+ python $(PYLIBFDT_objdir)/setup.py --quiet install \
+ $(if $(SETUP_PREFIX),--prefix=$(SETUP_PREFIX))
+
+maybe_install_pylibfdt:
+ if [ -e $(PYMODULE) ]; then \
+ if [ -z "$(NO_PYTHON)" ]; then \
+ $(MAKE) install_pylibfdt; \
+ fi; \
+ fi
+
PYLIBFDT_cleanfiles = libfdt_wrap.c libfdt.py libfdt.pyc _libfdt.so