Re: [PATCH i-g-t 3/3] meson: build a full dependency for lib_igt_perf

Petri Latvala
2017-12-05T11:05:54Z

On Tue, Dec 05, 2017 at 12:44:02PM +0200, Petri Latvala wrote:
> On Tue, Dec 05, 2017 at 11:16:50AM +0100, Daniel Vetter wrote:
> > meson prefers packages dependencies over passing arount static
> > libraries, because those also include linker flags, include dirs and
> > everything else.
> >
> > While at it pull the special cases out from the common build stanzas
> > like we do with other special cases.
> >
> > Just a bit of ocd to keep everything polished.
> >
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> > benchmarks/meson.build | 9 +++------
> > lib/meson.build | 5 ++++-
> > overlay/meson.build | 4 ++--
> > tests/meson.build | 11 +++++------
> > 4 files changed, 14 insertions(+), 15 deletions(-)
> >
> > diff --git a/benchmarks/meson.build b/benchmarks/meson.build
> > index fa7f07643a97..4afd204f82b2 100644
> > --- a/benchmarks/meson.build
> > +++ b/benchmarks/meson.build
> > @@ -12,7 +12,6 @@ benchmark_progs = [
> > 'gem_prw',
> > 'gem_set_domain',
> > 'gem_syslatency',
> > - 'gem_wsim',
> > 'kms_vblank',
> > 'prime_lookup',
> > 'vgem_mmap',
> > @@ -31,11 +30,9 @@ endif
> > foreach prog : benchmark_progs
> > # FIXME meson doesn't like binaries with the same name
> > # meanwhile just suffix with _bench
> > - link = []
> > - if prog == 'gem_wsim'
> > - link += lib_igt_perf
> > - endif
> > executable(prog + '_bench', prog + '.c',
> > - link_with : link,
> > dependencies : test_deps)
> > endforeach
> > +
> > +executable('gem_wsim_bench', 'gem_wsim.c',
> > + dependencies : test_deps + [ lib_igt_perf ])
> > diff --git a/lib/meson.build b/lib/meson.build
> > index 29d89cf09b58..d06d85b438b2 100644
> > --- a/lib/meson.build
> > +++ b/lib/meson.build
> > @@ -180,8 +180,11 @@ lib_igt = declare_dependency(link_with : lib_igt_build,
> >
> > igt_deps = [ lib_igt ] + lib_deps
> >
> > -lib_igt_perf = static_library('igt_perf',
> > +lib_igt_perf_build = static_library('igt_perf',
> > ['igt_perf.c']
> > )
> >
> > +lib_igt_perf = declare_dependency(link_with : lib_igt_perf_build,
> > + include_directories : inc)
> > +
> > subdir('tests')
> > diff --git a/overlay/meson.build b/overlay/meson.build
> > index 6b479eb89890..afacff5ecf60 100644
> > --- a/overlay/meson.build
> > +++ b/overlay/meson.build
> > @@ -21,7 +21,8 @@ dri2proto = dependency('dri2proto', version : '>= 2.6', required : false)
> > cairo_xlib = dependency('cairo-xlib', required : false)
> > xrandr = dependency('xrandr', version : '>=1.3', required : false)
> >
> > -gpu_overlay_deps = [ realtime, math, cairo, pciaccess, libdrm, libdrm_intel ]
> > +gpu_overlay_deps = [ realtime, math, cairo, pciaccess, libdrm,
> > + libdrm_intel, lib_igt_perf ]
> >
> > both_x11_src = ''
> >
> > @@ -55,6 +56,5 @@ if xrandr.found() and cairo.found()
> > include_directories : inc,
> > c_args : gpu_overlay_cflags,
> > dependencies : gpu_overlay_deps,
> > - link_with : lib_igt_perf,
> > install : true)
> > endif
> > diff --git a/tests/meson.build b/tests/meson.build
> > index 94cb8bb48cc7..af73af1219df 100644
> > --- a/tests/meson.build
> > +++ b/tests/meson.build
> > @@ -190,7 +190,6 @@ test_progs = [
> > 'kms_vblank',
> > 'meta_test',
> > 'perf',
> > - 'perf_pmu',
> > 'pm_backlight',
> > 'pm_lpsp',
> > 'pm_rc6_residency',
> > @@ -260,17 +259,17 @@ libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'), 'intel-g
> > test_executables = []
> >
> > foreach prog : test_progs
> > - link = []
> > - if prog == 'perf_pmu'
> > - link += lib_igt_perf
> > - endif
> > test_executables += executable(prog, prog + '.c',
> > dependencies : test_deps,
> > install_dir : libexecdir,
> > - link_with : link,
> > install : true)
> > endforeach
> >
> > +test_executables += executable('perf_pmu', 'perf_pmu.c',
> > + dependencies : test_deps + [ lib_igt_perf ],
> > + install_dir : libexecdir,
> > + install : true)
> > +
>
>
> I'm fairly sure I had this commit in my earlier tests for this series,
> but apparently not.
>
> test_progs += 'perf_pmu'
>
> is needed here, or perf_pmu doesn't get its place in test-list.txt.
>

With this fixup squashed in, the series is

Reviewed-by: Petri Latvala <petri.latvala@intel.com>

The differences in the generated xml (autotools vs meson) were, let's
say, cosmetic and minor.

--
Petri Latvala