From b200d547dcd21df11a1c3dbbf446700863532a27 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 20 Dec 2022 15:07:14 -0800 Subject: [PATCH] meson: use a feature option for gallium-xa Reviewed-by: Jesse Natalie Acked-by: Alyssa Rosenzweig Part-of: --- docs/drivers/svga3d.rst | 2 +- meson.build | 28 +++++----------------------- meson_options.txt | 4 +--- 3 files changed, 7 insertions(+), 27 deletions(-) diff --git a/docs/drivers/svga3d.rst b/docs/drivers/svga3d.rst index 6374511..3731188 100644 --- a/docs/drivers/svga3d.rst +++ b/docs/drivers/svga3d.rst @@ -193,7 +193,7 @@ Building the Code :: cd $TOP/mesa - meson builddir --prefix=/usr --libdir=${LIBDIR} -Dgallium-drivers=svga -Dgallium-xa=true -Ddri3=disabled + meson builddir --prefix=/usr --libdir=${LIBDIR} -Dgallium-drivers=svga -Dgallium-xa=enabled -Ddri3=disabled ninja -C builddir sudo ninja -C builddir install diff --git a/meson.build b/meson.build index 2aa7e7b..4d631ab 100644 --- a/meson.build +++ b/meson.build @@ -783,29 +783,11 @@ if va_drivers_path == '' va_drivers_path = join_paths(get_option('libdir'), 'dri') endif -_xa = get_option('gallium-xa') -if _xa == 'true' - _xa = 'enabled' - warning('gallium-xa option "true" deprecated, please use "enabled" instead.') -elif _xa == 'false' - _xa = 'disabled' - warning('gallium-xa option "false" deprecated, please use "disabled" instead.') -endif -if not system_has_kms_drm - if _xa == 'enabled' - error('XA state tracker can only be built on unix-like OSes.') - else - _xa = 'disabled' - endif -elif not (with_gallium_nouveau or with_gallium_freedreno or with_gallium_i915 - or with_gallium_svga) - if _xa == 'enabled' - error('XA state tracker requires at least one of the following gallium drivers: nouveau, freedreno, i915, svga.') - else - _xa = 'disabled' - endif -endif -with_gallium_xa = _xa != 'disabled' +with_gallium_xa = get_option('gallium-xa') \ + .require(system_has_kms_drm, error_message : 'XA state tracker can only be built on unix-like OSes.') \ + .require(with_gallium_nouveau or with_gallium_freedreno or with_gallium_i915 or with_gallium_svga, + error_message : 'XA state tracker requires at least one of the following gallium drivers: nouveau, freedreno, i915, svga.') \ + .allowed() d3d_drivers_path = get_option('d3d-drivers-path') if d3d_drivers_path == '' diff --git a/meson_options.txt b/meson_options.txt index 7471361..8976c0d 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -120,9 +120,7 @@ option( ) option( 'gallium-xa', - type : 'combo', - value : 'auto', - choices : ['auto', 'true', 'false', 'enabled', 'disabled'], + type : 'feature', description : 'enable gallium xa frontend.', ) option( -- 2.7.4