[Buildroot] [PATCH v2] package/libcamera: Enable python bindings

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Jun 20 13:49:59 UTC 2024


Since libcamera commit f513fd70ba1a ("subprojects: Drop leftovers of
pybind11"), merged before libcamera v0.1.0, libcamera has no longer
relied on an external subproject branch of pybind to build the python
bindings.

Provide a new package option to allow enabling the python bindings on
libcamera when python3 is available in the buildroot configuration.
Enabling the python bindings will select and bring in pybind as a
dependency.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 package/libcamera/Config.in    | 7 +++++++
 package/libcamera/libcamera.mk | 8 +++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/package/libcamera/Config.in b/package/libcamera/Config.in
index e84b8d342eea..4699e382c760 100644
--- a/package/libcamera/Config.in
+++ b/package/libcamera/Config.in
@@ -24,6 +24,13 @@ menuconfig BR2_PACKAGE_LIBCAMERA
 
 if BR2_PACKAGE_LIBCAMERA
 
+config BR2_PACKAGE_LIBCAMERA_PYTHON
+	bool "python bindings"
+	depends on BR2_PACKAGE_PYTHON3
+	select BR2_PACKAGE_PYTHON_PYBIND
+	help
+	  Enable libcamera python bindings
+
 config BR2_PACKAGE_LIBCAMERA_V4L2
 	bool "libcamera v4l2 compatibility layer"
 	help
diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk
index dfcd340b75a0..100934a97d6f 100644
--- a/package/libcamera/libcamera.mk
+++ b/package/libcamera/libcamera.mk
@@ -19,7 +19,6 @@ LIBCAMERA_CONF_OPTS = \
 	-Dandroid=disabled \
 	-Ddocumentation=disabled \
 	-Dtest=false \
-	-Dpycamera=disabled \
 	-Dwerror=false
 LIBCAMERA_INSTALL_STAGING = YES
 LIBCAMERA_LICENSE = \
@@ -45,6 +44,13 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y)
 LIBCAMERA_CXXFLAGS = -faligned-new
 endif
 
+ifeq ($(BR2_PACKAGE_LIBCAMERA_PYTHON),y)
+LIBCAMERA_DEPENDENCIES += python3 python-pybind
+LIBCAMERA_CONF_OPTS += -Dpycamera=enabled
+else
+LIBCAMERA_CONF_OPTS += -Dpycamera=disabled
+endif
+
 ifeq ($(BR2_PACKAGE_LIBCAMERA_V4L2),y)
 LIBCAMERA_CONF_OPTS += -Dv4l2=true
 else
-- 
2.34.1



More information about the buildroot mailing list