[Mesa-dev] [PATCH v3 1/9] meson: use va-api version reported by pkg-config

Emil Velikov emil.l.velikov at gmail.com
Thu Feb 8 23:22:32 UTC 2018


On 8 February 2018 at 23:16, Dylan Baker <dylan at pnwbakers.com> wrote:
> Quoting Emil Velikov (2018-02-08 14:56:27)
>> On 2 February 2018 at 19:30, Dylan Baker <dylan at pnwbakers.com> wrote:
>> > Fixes: 5a785d51a6d6 ("meson: build gallium va state tracker")
>> > Signed-off-by: Dylan Baker <dylan.c.baker at intel.com>
>> > ---
>> >  meson.build                               | 2 +-
>> >  src/gallium/state_trackers/va/meson.build | 6 +++---
>> >  2 files changed, 4 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/meson.build b/meson.build
>> > index 323f706..4c6283c 100644
>> > --- a/meson.build
>> > +++ b/meson.build
>> > @@ -533,7 +533,7 @@ with_gallium_va = _va == 'true'
>> >  dep_va = []
>> >  if with_gallium_va
>> >    dep_va = dependency('libva', version : '>= 0.38.0')
>> > -  dep_va = declare_dependency(
>> > +  dep_va_headers = declare_dependency(
>> >      compile_args : run_command(prog_pkgconfig, ['libva', '--cflags']).stdout().split()
>> >    )
>> >  endif
>> > diff --git a/src/gallium/state_trackers/va/meson.build b/src/gallium/state_trackers/va/meson.build
>> > index 56e68e9..35da5ab 100644
>> > --- a/src/gallium/state_trackers/va/meson.build
>> > +++ b/src/gallium/state_trackers/va/meson.build
>> > @@ -1,4 +1,4 @@
>> > -# Copyright © 2017 Intel Corporation
>> > +# Copyright © 2017-2018 Intel Corporation
>> >
>> >  # Permission is hereby granted, free of charge, to any person obtaining a copy
>> >  # of this software and associated documentation files (the "Software"), to deal
>> > @@ -18,7 +18,7 @@
>> >  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
>> >  # SOFTWARE.
>> >
>> > -libva_version = ['2', '3', '0']
>> > +libva_version = dep_va.version().split('.')
>> >
>> >  libva_st = static_library(
>> >    'va_st',
>> > @@ -35,5 +35,5 @@ libva_st = static_library(
>> >      ),
>> >    ],
>> >    include_directories : [inc_common],
>> > -  dependencies : [dep_va, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3],
>> > +  dependencies : [dep_va_headers, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3],
>> You're doing three distinct things here. Please split those up:
>>  - using the correction version
>>  - removing the overlinking (against libva)
>>  - correcting the (link) depedency list
>
> No, the only thing in your list changing is that we're using the correct
> version. Previously dep_va was shadowed to by a headers only dependency, with
> this patch a new variable is created for the headers only dependency and no
> shadowing is done.
>
Right - slightly misread that one. Still seem like two distinct things, right?

>> To save yourself some pain fold the common x11_xcb/etc dependencies
>> into a common block at the top level.
>> In there you can attribute (perhaps at a later stage) the x11-less
>> build. Just like we've been doing in autotools for a while.
>
> The plan is to do that once we move to meson 0.45, which has a dependency cache,
> and will make checking for a dependency more than once basically free.
>
Surely one can do that just once (regardless of 0.45) in say top level
meson.build?
It works with old lovely autotools and meson seems perfectly capable
of doing this.

-Emil


More information about the mesa-dev mailing list