[pacman-dev] [PATCH] Enable additional debug flags/logging with debugoptimized builds

Dave Reisner d at falconindy.com
Tue Dec 4 12:56:05 UTC 2018


On Tue, Dec 04, 2018 at 05:14:50PM +1000, Allan McRae wrote:
> On 4/12/18 12:36 am, Dave Reisner wrote:
> > This lets developers run a local build with optimizations but also the
> > added debug logging that comes with PACMAN_DEBUG being defined.
> > ---
> 
> So, we only test for "debug" to enable anything.  What options starting
> with debug would be used here?

meson understands --buildtype=debug and --buildtype=debugoptimized when
you configure the build. Before this patch, only the former buildtype is
accepted in order to trigger these extra flags. After, both buildtypes
are.

> Also, all those warning flags in this test are set with --enable-warning
> flags in autotools based builds.  Strangely, all the options from
> --enable-debug are not set here...

I chose not to add a -Ddebug=true flag to the meson build and instead
key off of the buildtype. With this patch, I'm essentially suggesting
that developers who want a suitable debugging build should just build as
--buildtype=(debug|debugoptimized). That gives you the extra warning
flags and extra timestamp logging just the same as --enable-debug and
--enable-warning-flags gave you with autotools.

Do you feel there's reason to separate these concerns?

> >  meson.build | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/meson.build b/meson.build
> > index 8837816f..394bd1f5 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -211,7 +211,7 @@ elif conf.has('HAVE_STRUCT_STATFS_F_FLAGS')
> >    conf.set('FSSTATSTYPE', 'struct statfs')
> >  endif
> >  
> > -if get_option('buildtype') == 'debug'
> > +if get_option('buildtype').startswith('debug')
> >    extra_cflags = [
> >      '-Wcast-align',
> >      '-Wclobbered',
> > 


More information about the pacman-dev mailing list