[Mesa-dev] [PATCH] meson: Fix building gallium media targets with gallium-xlib glx

Eric Engestrom eric.engestrom at imgtec.com
Thu Dec 7 17:37:47 UTC 2017


On Thursday, 2017-12-07 09:16:24 -0800, Dylan Baker wrote:
> Quoting Eric Engestrom (2017-12-07 04:17:58)
> > On Tuesday, 2017-12-05 09:40:53 -0800, Dylan Baker wrote:
> > > Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> > > ---
> > >  meson.build | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/meson.build b/meson.build
> > > index 3e8ea7d17e0..bf6bd551f08 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -1107,9 +1107,9 @@ if with_platform_x11
> > >      dep_xcb_glx = dependency('xcb-glx', version : '>= 1.8.1')
> > >      dep_xxf86vm = dependency('xxf86vm', required : false)
> > >    endif
> > > -  if with_any_vk or with_glx == 'dri' or
> > > -      (with_gallium_vdpau or with_gallium_xvmc or with_gallium_omx or
> > > -       with_gallium_xa)
> > > +  if (with_any_vk or with_glx == 'dri' or
> > > +       (with_gallium_vdpau or with_gallium_xvmc or with_gallium_omx or
> > > +        with_gallium_xa))
> > 
> > Hmm, works for me without this, on both meson 43 and 44; I'm guessing
> > meson 42 fails to parse this?
> > 
> > Either way, it doesn't hurt, so:
> > Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> > 
> > >      dep_xcb = dependency('xcb')
> > >      dep_x11_xcb = dependency('x11-xcb')
> > >    endif
> > > -- 
> > > 2.15.0
> > > 
> 
> You need to run meson like this to exercise the bug (I'll add this to the commit
> message):
> meson builddir -Dglx=gallium-xlib -Ddri-drivers= -Dvulkan-drivers=
> 
> The problem is that meson's parser just stops parsing the if statement as soon
> as it decides that the expression so far is true and the next token is 'or' and
> there is no way for the whole expression to be false even if the next sub
> expression is false. Basically laziness is biting us.
> 
> I started working on a linter yesterday but I'm doing it the hard way (aka
> writing my own parser).

I'm assuming going to route of adding an mlint.py in meson would allow
you to reuse a ton of code (esp. parsing)? I kinda like the idea of
simply typing `meson lint` to validate all the meson code.


More information about the mesa-dev mailing list