summaryrefslogtreecommitdiff
path: root/overlay
diff options
context:
space:
mode:
authorArkadiusz Hiler <arkadiusz.hiler@intel.com>2019-05-21 12:36:01 +0300
committerArkadiusz Hiler <arkadiusz.hiler@intel.com>2019-05-23 15:14:08 +0300
commit736b099862f61b115b3845309b860cb66915fe2a (patch)
tree41dd86b1a58178349c305245e53950754efda2c7 /overlay
parent29cb27e662948b1d0710e9fdaceb5bb221746ff8 (diff)
meson: Start using 'feature' options
Meson 0.47 comes with a new type of option called 'feature' so instead of: type : 'combo', value : 'auto', choices : ['auto', 'true', 'false'], We can: type : 'feature', The main difference is that the feature takes auto, enabled and disabled instead of auto, true and false. get_option() on a feature returns opaque object that can be passed as a 'required' argument of a dependency. Auto is equivalent to 'required : false', enabled is equivalent to 'required : true' and disabled introduces new behavior forcing the dependency to be considered not found. This allows us to streamline a lot of logic regarding optional IGT features. This patch bumps required meson version to 0.47.0 Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Simon Ser <simon.ser@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'overlay')
-rw-r--r--overlay/meson.build17
1 files changed, 10 insertions, 7 deletions
diff --git a/overlay/meson.build b/overlay/meson.build
index 46d2d494..d133b6be 100644
--- a/overlay/meson.build
+++ b/overlay/meson.build
@@ -1,3 +1,6 @@
+build_overlay = get_option('build_overlay')
+overlay_backends = get_option('overlay_backends')
+
gpu_overlay_src = [
'chart.c',
'config.c',
@@ -18,7 +21,7 @@ xv_backend_required = false
xlib_backend_required = false
build_xv_backend = overlay_backends.contains('xv') or overlay_backends.contains('auto')
build_xlib_backend = overlay_backends.contains('x') or overlay_backends.contains('auto')
-if _overlay_required
+if build_overlay.enabled()
xv_backend_required = overlay_backends.contains('xv')
xlib_backend_required = overlay_backends.contains('x')
endif
@@ -30,7 +33,7 @@ dri2proto = dependency('dri2proto',
version : '>= 2.6',
required : xv_backend_required or xlib_backend_required)
cairo_xlib = dependency('cairo-xlib', required : xlib_backend_required)
-xrandr = dependency('xrandr', version : '>=1.3', required : _overlay_required)
+xrandr = dependency('xrandr', version : '>=1.3', required : build_overlay)
gpu_overlay_deps = [ realtime, math, cairo, pciaccess, libdrm,
libdrm_intel, lib_igt_perf ]
@@ -70,7 +73,7 @@ gpu_overlay_src += both_x11_src
gpu_overlay_src += 'kms/kms-overlay.c'
-leg = find_program('leg', required : _overlay_required)
+leg = find_program('leg', required : build_overlay)
if leg.found()
leg_file = custom_target('tracepoint_format',
output: 'tracepoint_format.h',
@@ -81,17 +84,17 @@ else
message('WARNING: leg command not found, disabling overlay; try : apt-get install peg')
endif
-if _build_overlay and ['x86', 'x86_64'].contains(host_machine.cpu_family()) and libdrm_intel.found() and leg.found() and xrandr.found() and cairo.found() and (with_xlib_backend or with_xv_backend)
+if not build_overlay.disabled() and ['x86', 'x86_64'].contains(host_machine.cpu_family()) and libdrm_intel.found() and leg.found() and xrandr.found() and cairo.found() and (with_xlib_backend or with_xv_backend)
executable('intel-gpu-overlay', gpu_overlay_src,
include_directories : inc,
c_args : gpu_overlay_cflags,
dependencies : gpu_overlay_deps,
install : true)
- build_info += 'Build overlay: Yes'
+ build_info += 'Build overlay: true'
build_info += 'Overlay backends: ' + ','.join(backends_strings)
else
- if _overlay_required
+ if build_overlay.enabled()
error('Cannot build overlay due to missing dependencies')
endif
- build_info += 'Build overlay: No'
+ build_info += 'Build overlay: false'
endif