meson: Add option to disable libunwind integration
diff mbox series

Message ID 20250924103942.38558-1-dylan.aissi@collabora.com
State New
Headers show
Series
  • meson: Add option to disable libunwind integration
Related show

Commit Message

Dylan Aïssi Sept. 24, 2025, 10:39 a.m. UTC
While optional, libunwind integration is enabled when
meson finds it without having a way to disable it.
This is the case for Debian where libunwind is installed
by build dependencies. Since we want to reduce dependencies
on libunwind in Debian due to several issues with it
(see https://bugs.debian.org/1093688), we need an option
to control its activation.

Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com>
---
 meson_options.txt              | 5 +++++
 src/libcamera/base/meson.build | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

Comments

Kieran Bingham Sept. 24, 2025, 10:44 a.m. UTC | #1
Quoting Dylan Aïssi (2025-09-24 11:39:42)
> While optional, libunwind integration is enabled when
> meson finds it without having a way to disable it.
> This is the case for Debian where libunwind is installed
> by build dependencies. Since we want to reduce dependencies
> on libunwind in Debian due to several issues with it
> (see https://bugs.debian.org/1093688), we need an option
> to control its activation.

That looks a bit squashed ;-) But could be rewrapped while applying:

> Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com>
> ---
>  meson_options.txt              | 5 +++++
>  src/libcamera/base/meson.build | 2 +-
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meson_options.txt b/meson_options.txt
> index 2104469e..32acb45b 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -42,6 +42,11 @@ option('lc-compliance',
>          value : 'auto',
>          description : 'Compile the lc-compliance test application')
>  
> +option('libunwind',
> +        type : 'feature',
> +        value : 'auto',
> +        description : 'Enable libunwind provide backtraces to help debugging')
> +
>  option('pipelines',
>          type : 'array',
>          value : ['auto'],
> diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
> index a742dfdf..bcf37f71 100644
> --- a/src/libcamera/base/meson.build
> +++ b/src/libcamera/base/meson.build
> @@ -27,7 +27,7 @@ libcamera_base_internal_sources = files([
>  ])
>  
>  libdw = dependency('libdw', required : false)
> -libunwind = dependency('libunwind', required : false)
> +libunwind = dependency('libunwind', required : get_option('libunwind'))

I think that's functional and reasonable to me:


Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

>  
>  if cc.has_header_symbol('execinfo.h', 'backtrace')
>      config_h.set('HAVE_BACKTRACE', 1)
> -- 
> 2.47.3
>
Barnabás Pőcze Sept. 24, 2025, 11:11 a.m. UTC | #2
Hi

2025. 09. 24. 12:39 keltezéssel, Dylan Aïssi írta:
> While optional, libunwind integration is enabled when
> meson finds it without having a way to disable it.
> This is the case for Debian where libunwind is installed
> by build dependencies. Since we want to reduce dependencies
> on libunwind in Debian due to several issues with it
> (see https://bugs.debian.org/1093688), we need an option
> to control its activation.
> 
> Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com>
> ---
>   meson_options.txt              | 5 +++++
>   src/libcamera/base/meson.build | 2 +-
>   2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meson_options.txt b/meson_options.txt
> index 2104469e..32acb45b 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -42,6 +42,11 @@ option('lc-compliance',
>           value : 'auto',
>           description : 'Compile the lc-compliance test application')
>   
> +option('libunwind',
> +        type : 'feature',
> +        value : 'auto',
> +        description : 'Enable libunwind provide backtraces to help debugging')

I think this description should be reworded, e.g.

   Enable libunwind integration for (better?) backtrace generation


Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>

> +
>   option('pipelines',
>           type : 'array',
>           value : ['auto'],
> diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
> index a742dfdf..bcf37f71 100644
> --- a/src/libcamera/base/meson.build
> +++ b/src/libcamera/base/meson.build
> @@ -27,7 +27,7 @@ libcamera_base_internal_sources = files([
>   ])
>   
>   libdw = dependency('libdw', required : false)
> -libunwind = dependency('libunwind', required : false)
> +libunwind = dependency('libunwind', required : get_option('libunwind'))
>   
>   if cc.has_header_symbol('execinfo.h', 'backtrace')
>       config_h.set('HAVE_BACKTRACE', 1)
Laurent Pinchart Sept. 24, 2025, 12:09 p.m. UTC | #3
On Wed, Sep 24, 2025 at 01:11:45PM +0200, Barnabás Pőcze wrote:
> 2025. 09. 24. 12:39 keltezéssel, Dylan Aïssi írta:
> > While optional, libunwind integration is enabled when
> > meson finds it without having a way to disable it.
> > This is the case for Debian where libunwind is installed
> > by build dependencies. Since we want to reduce dependencies
> > on libunwind in Debian due to several issues with it
> > (see https://bugs.debian.org/1093688), we need an option
> > to control its activation.
> > 
> > Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com>
> > ---
> >   meson_options.txt              | 5 +++++
> >   src/libcamera/base/meson.build | 2 +-
> >   2 files changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 2104469e..32acb45b 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -42,6 +42,11 @@ option('lc-compliance',
> >           value : 'auto',
> >           description : 'Compile the lc-compliance test application')
> >   
> > +option('libunwind',
> > +        type : 'feature',
> > +        value : 'auto',
> > +        description : 'Enable libunwind provide backtraces to help debugging')
> 
> I think this description should be reworded, e.g.
> 
>    Enable libunwind integration for (better?) backtrace generation

Looks good to me. You can decide on whether or not to keep the "better"
when you push the patch :-) Please also reflow the commit message as
mentioned by Kieran.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> 
> > +
> >   option('pipelines',
> >           type : 'array',
> >           value : ['auto'],
> > diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
> > index a742dfdf..bcf37f71 100644
> > --- a/src/libcamera/base/meson.build
> > +++ b/src/libcamera/base/meson.build
> > @@ -27,7 +27,7 @@ libcamera_base_internal_sources = files([
> >   ])
> >   
> >   libdw = dependency('libdw', required : false)
> > -libunwind = dependency('libunwind', required : false)
> > +libunwind = dependency('libunwind', required : get_option('libunwind'))
> >   
> >   if cc.has_header_symbol('execinfo.h', 'backtrace')
> >       config_h.set('HAVE_BACKTRACE', 1)

Patch
diff mbox series

diff --git a/meson_options.txt b/meson_options.txt
index 2104469e..32acb45b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -42,6 +42,11 @@  option('lc-compliance',
         value : 'auto',
         description : 'Compile the lc-compliance test application')
 
+option('libunwind',
+        type : 'feature',
+        value : 'auto',
+        description : 'Enable libunwind provide backtraces to help debugging')
+
 option('pipelines',
         type : 'array',
         value : ['auto'],
diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
index a742dfdf..bcf37f71 100644
--- a/src/libcamera/base/meson.build
+++ b/src/libcamera/base/meson.build
@@ -27,7 +27,7 @@  libcamera_base_internal_sources = files([
 ])
 
 libdw = dependency('libdw', required : false)
-libunwind = dependency('libunwind', required : false)
+libunwind = dependency('libunwind', required : get_option('libunwind'))
 
 if cc.has_header_symbol('execinfo.h', 'backtrace')
     config_h.set('HAVE_BACKTRACE', 1)