[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