Signed-off-by: Boerje Sewing <[email protected]>
---
 rules/libgpiod.in   |  8 ++++++++
 rules/libgpiod.make | 20 ++++++++++++++++++--
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/rules/libgpiod.in b/rules/libgpiod.in
index d3d0c6002..ad52d6f10 100644
--- a/rules/libgpiod.in
+++ b/rules/libgpiod.in
@@ -55,4 +55,12 @@ config LIBGPIOD_GPIOMON
        help
          Waits for events on a GPIO line
 
+config LIBGPIOD_PYTHON3
+        bool
+       prompt "Install python3 bindings"
+       select PYTHON3
+       select HOST_SYSTEM_PYTHON3
+       help
+         Provides bindings for Python 3
+
 endif
diff --git a/rules/libgpiod.make b/rules/libgpiod.make
index ed677c2d5..888597ce3 100644
--- a/rules/libgpiod.make
+++ b/rules/libgpiod.make
@@ -35,8 +35,16 @@ LIBGPIOD_CONF_OPT    := \
        $(CROSS_AUTOCONF_USR) \
        --$(call ptx/endis, PTXCONF_LIBGPIOD_TOOLS)-tools \
        --disable-tests \
-       --disable-bindings-cxx \
-       --disable-bindings-python
+       --disable-bindings-cxx
+
+ifdef PTXCONF_LIBGPIOD_PYTHON3
+LIBGPIOD_CONF_OPT      += --enable-bindings-python
+LIBGPIOD_CONF_ENV := \
+       $(CROSS_ENV) \
+       ac_cv_path_PYTHON=$(CROSS_PYTHON3)
+else
+LIBGPIOD_CONF_OPT      += --disable-bindings-python
+endif
 
 # libgpiod requires kernel headers >= 4.8
 ifdef PTXCONF_KERNEL_HEADER
@@ -71,6 +79,14 @@ $(STATEDIR)/libgpiod.targetinstall:
                        /usr/bin/$$tool); \
        done
 
+ifdef PTXCONF_LIBGPIOD_PYTHON3
+       @$(call install_copy, libgpiod, 0, 0, 0755, $(PYTHON3_SITEPACKAGES))
+       @for file in $(shell cd $(LIBGPIOD_PKGDIR) && find . -name "gpiod.*"); \
+       do \
+               $(call install_copy, libgpiod, 0, 0, 0644, -, /$$file); \
+       done
+endif
+
        @$(call install_finish, libgpiod)
 
        @$(call touch)
-- 
2.18.0


_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to