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

Petri Latvala petri.latvala at intel.com
Tue Dec 5 10:44:02 UTC 2017


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 at intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at 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.


-- 
Petri Latvala



>  executable('testdisplay', ['testdisplay.c', 'testdisplay_hotplug.c'],
>  	   dependencies : test_deps,
>  	   install_dir : libexecdir,
> -- 
> 2.15.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list