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

Emil Velikov emil.l.velikov at gmail.com
Fri Feb 9 00:14:39 UTC 2018


On 8 February 2018 at 23:36, Dylan Baker <dylan at pnwbakers.com> wrote:
> Quoting Emil Velikov (2018-02-08 15:22:32)
>> 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
>
> Are you suggesting doing something like?
>
> group_of_deps = [dep_foo, dep_bar]
>
Whichever works really - be that a list (array?) like you mentioned, a
dependency() thingy or other.
Even in the worst case (of calling pkg-config once more per target)
those will be handled in parallel so it won't be noticeable.

-Emil


More information about the mesa-dev mailing list