{"id":24445,"url":"https://patchwork.libcamera.org/api/patches/24445/?format=json","web_url":"https://patchwork.libcamera.org/patch/24445/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250924103942.38558-1-dylan.aissi@collabora.com>","date":"2025-09-24T10:39:42","name":"meson: Add option to disable libunwind integration","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"0b91040e76c5dc5ef27a9389c7262811d0fd01b2","submitter":{"id":191,"url":"https://patchwork.libcamera.org/api/people/191/?format=json","name":"Dylan Aïssi","email":"dylan.aissi@collabora.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/24445/mbox/","series":[{"id":5456,"url":"https://patchwork.libcamera.org/api/series/5456/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5456","date":"2025-09-24T10:39:42","name":"meson: Add option to disable libunwind integration","version":1,"mbox":"https://patchwork.libcamera.org/series/5456/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/24445/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/24445/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 9A771BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 24 Sep 2025 10:40:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 565AD6B5F3;\n\tWed, 24 Sep 2025 12:40:24 +0200 (CEST)","from bali.collaboradmins.com (bali.collaboradmins.com\n\t[148.251.105.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0C09569367\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 24 Sep 2025 12:40:13 +0200 (CEST)","from xps13-9310.. (unknown\n\t[IPv6:2a01:e0a:f7:4c90:cb76:56:dcfc:bd07])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (4096 bits)\n\tserver-digest SHA256)\n\t(No client certificate requested) (Authenticated sender: daissi)\n\tby bali.collaboradmins.com (Postfix) with ESMTPSA id 79DEA17E12C1;\n\tWed, 24 Sep 2025 12:40:12 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=collabora.com header.i=@collabora.com\n\theader.b=\"eE+AAOeu\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;\n\ts=mail; t=1758710412;\n\tbh=Y4QQg6A1cgJXMWWMDrbzwT8mdi8x3bjgEgPetJEogdk=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=eE+AAOeuXYPH6R6HkAkCfvxQZhMB1tKBTvd6YS4p7976G2XzptUqYyxs59rWRVm1T\n\tXJdo0veMmMtdYHTyBm3E3ECRL88oRgme9eRV6AG/CBluaPSoolUJPKVhI4VPoNRsce\n\tydA4mLTyJXCNRap6DpCNo4PgedSlujEDFcGBVNJYitYQPp+DnNqfx6vOIww42Jq8/U\n\tWuEc/rNF+06wekHzGEUbVFkyfBZgwxGIxmFX5GFMFDGND1h7L9512il8HLMl7MkYTi\n\toRXBdzzZ4iXxZ6k2jjnnylPtghemJgnlkN8Mh4wpP0liMO1l32oVN+vDOkM1B/OQPv\n\t/paklfVACrAaA==","From":"=?utf-8?q?Dylan_A=C3=AFssi?= <dylan.aissi@collabora.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"=?utf-8?q?Dylan_A=C3=AFssi?= <dylan.aissi@collabora.com>","Subject":"[PATCH] meson: Add option to disable libunwind integration","Date":"Wed, 24 Sep 2025 12:39:42 +0200","Message-ID":"<20250924103942.38558-1-dylan.aissi@collabora.com>","X-Mailer":"git-send-email 2.47.3","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"While optional, libunwind integration is enabled when\nmeson finds it without having a way to disable it.\nThis is the case for Debian where libunwind is installed\nby build dependencies. Since we want to reduce dependencies\non libunwind in Debian due to several issues with it\n(see https://bugs.debian.org/1093688), we need an option\nto control its activation.\n\nSigned-off-by: Dylan Aïssi <dylan.aissi@collabora.com>\n---\n meson_options.txt              | 5 +++++\n src/libcamera/base/meson.build | 2 +-\n 2 files changed, 6 insertions(+), 1 deletion(-)","diff":"diff --git a/meson_options.txt b/meson_options.txt\nindex 2104469e..32acb45b 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -42,6 +42,11 @@ option('lc-compliance',\n         value : 'auto',\n         description : 'Compile the lc-compliance test application')\n \n+option('libunwind',\n+        type : 'feature',\n+        value : 'auto',\n+        description : 'Enable libunwind provide backtraces to help debugging')\n+\n option('pipelines',\n         type : 'array',\n         value : ['auto'],\ndiff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build\nindex a742dfdf..bcf37f71 100644\n--- a/src/libcamera/base/meson.build\n+++ b/src/libcamera/base/meson.build\n@@ -27,7 +27,7 @@ libcamera_base_internal_sources = files([\n ])\n \n libdw = dependency('libdw', required : false)\n-libunwind = dependency('libunwind', required : false)\n+libunwind = dependency('libunwind', required : get_option('libunwind'))\n \n if cc.has_header_symbol('execinfo.h', 'backtrace')\n     config_h.set('HAVE_BACKTRACE', 1)\n","prefixes":[]}