From patchwork Mon Aug 18 14:45:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 24157 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 6C815BEFBE for ; Mon, 18 Aug 2025 14:45:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D55D469261; Mon, 18 Aug 2025 16:45:56 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="kV1VvBa+"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id C751C69257 for ; Mon, 18 Aug 2025 16:45:54 +0200 (CEST) Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 4B03611EB for ; Mon, 18 Aug 2025 16:44:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1755528297; bh=xtde9i6PnlX1x8mRHRA6XY4UvxltYwqUk8JsjeL0KxE=; h=From:To:Subject:Date:From; b=kV1VvBa+VHxOBaSTBu8Lu6BXzV4xvKzxtpHyQ/M9XAUfLgIzYI+eTLW+sYORo42op mIu63cjaT9gn9DIxXRdxhNaxa1LBVYDQd50mZkZBa3MlVxZJO58gQRIKfnHSL+H0ib EP+ASbyijgaMH8/P3iqWZ4bvHsbYoTQok3AhzVXc= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH 1/2] meson: Bump minimum version to v1.0.1 Date: Mon, 18 Aug 2025 17:45:30 +0300 Message-ID: <20250818144531.6406-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.49.1 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The minimum version of meson currently required by libcamera, v0.63, does not properly detect Qt6. As qcam switched from Qt5 to Qt6 a while ago, building libcamera with meson v0.63 is currently broken. The issue was fixed in meson v0.64. That was the last meson version before v1.0.0. For mainly psychological reasons, and to avoid bumping the meson version too often, go straight to v1.0.1. This will support the following versions of popular distributions and build environments: - Debian Bookworm and newer (v1.0.1) - Ubuntu 24.04LTS and newer (v1.3.2) - Buildroot 2023.08 (v1.1.1) - Yocto Scarthgap (v1.3.1) The previous version of Debian, Ubuntu and Yocto shipped versions of meson older than v0.63 (v0.56.2 in Debian Bullseye, v0.61.2 in Ubuntu 22.04LTS, and v0.61.3 in Yocto Kirkstone), so the meson version bump doesn't require a distribution upgrade. For Buildroot, moving to v1.0.1 means users on versions from 2022.08 (when not using qcam) or 2023.02 to 2023.05 will need to upgrade. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham Reviewed-by: Barnabás Pőcze --- README.rst | 2 +- meson.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) base-commit: af43c2f945c42cc7d111de63abed9ca3df830ca4 diff --git a/README.rst b/README.rst index e9a7dd82de74..7c8bc6db6712 100644 --- a/README.rst +++ b/README.rst @@ -44,7 +44,7 @@ A C++ toolchain: [required] Either {g++, clang} Meson Build system: [required] - meson (>= 0.63) ninja-build pkg-config + meson (>= 1.0.1) ninja-build pkg-config for the libcamera core: [required] libyaml-dev python3-yaml python3-ply python3-jinja2 diff --git a/meson.build b/meson.build index d46b58bde4e7..ccf709d8aade 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: CC0-1.0 project('libcamera', 'c', 'cpp', - meson_version : '>= 0.63', + meson_version : '>= 1.0.1', version : '0.5.2', default_options : [ 'werror=true', From patchwork Mon Aug 18 14:45:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 24158 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 4F1EBBEFBE for ; Mon, 18 Aug 2025 14:46:02 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D50856925F; Mon, 18 Aug 2025 16:46:01 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="fX5HVMIF"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B2DA869268 for ; Mon, 18 Aug 2025 16:45:57 +0200 (CEST) Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 2371B11EB for ; Mon, 18 Aug 2025 16:45:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1755528300; bh=tRzLk8+adOUc7v+1rgQfy3CwxpeFf6Dzqtepez5N1CE=; h=From:To:Subject:Date:In-Reply-To:References:From; b=fX5HVMIFCgGLqs/51bCa0l8gwrR8xkSp0QdTpTPIwRVC8iDQsNsppFdIUEPFRetIv 1a0YU+PndjYja04hqp/914FU/FdBm7nbpFirlb6B5OeEzcvwgv2L/EQm08kzQJbVm9 uUHPfe+gitkMSS775Egwa9UUFWPD5Wpg1vMOAr2k= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH 2/2] meson: Use dependency('dl') Date: Mon, 18 Aug 2025 17:45:31 +0300 Message-ID: <20250818144531.6406-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.49.1 In-Reply-To: <20250818144531.6406-1-laurent.pinchart@ideasonboard.com> References: <20250818144531.6406-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Support for locating libdl through dependency('dl') was broken before meson v0.62.0. Now that we require a newer version, drop the hack and use the dependency() function. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham Reviewed-by: Barnabás Pőcze --- src/libcamera/meson.build | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index de1eb99b28fd..b3ca27f217da 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -76,13 +76,7 @@ subdir('proxy') subdir('sensor') subdir('software_isp') -null_dep = dependency('', required : false) - -# TODO: Use dependency('dl') when updating to meson 0.62.0 or newer. -libdl = null_dep -if not cc.has_function('dlopen') - libdl = cc.find_library('dl') -endif +libdl = dependency('dl') libudev = dependency('libudev', required : get_option('udev')) libyaml = dependency('yaml-0.1', default_options : [ 'default_library=static',