From a64a176cfd62956cc4967aa2929db2526d4faee2 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Mon, 22 Aug 2022 17:10:16 +0100 Subject: [PATCH] meson: simplify some more build options by using features Signed-off-by: Eric Engestrom Reviewed-by: Simon Ser --- .gitlab-ci.yml | 4 +--- meson.build | 34 +++++++++++----------------------- meson_options.txt | 12 +++--------- 3 files changed, 15 insertions(+), 35 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 37f8515e..27027233 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -192,8 +192,6 @@ x86_64-freebsd-container_prep: script: - meson build --auto-features=enabled - -D cairo-tests=true - -D man-pages=true -D udev=true - ninja -C build - ninja -C build test @@ -215,7 +213,7 @@ x86_64-freebsd-container_prep: # the workspace to see details about the failed tests. - | set +e - /app/vmctl exec "pkg info; cd $CI_PROJECT_NAME ; meson build --auto-features=enabled -D nouveau=disabled -D cairo-tests=true -D man-pages=true -D valgrind=false && ninja -C build" + /app/vmctl exec "pkg info; cd $CI_PROJECT_NAME ; meson build --auto-features=enabled -D nouveau=disabled -D valgrind=disabled && ninja -C build" set -ex scp -r vm:$CI_PROJECT_NAME/build/meson-logs . /app/vmctl exec "ninja -C $CI_PROJECT_NAME/build install" diff --git a/meson.build b/meson.build index 2364baab..2b142c68 100644 --- a/meson.build +++ b/meson.build @@ -237,30 +237,18 @@ libdrm_c_args = cc.get_supported_arguments([ dep_pciaccess = dependency('pciaccess', version : '>= 0.10', required : with_intel) dep_cunit = dependency('cunit', version : '>= 2.1', required : false) -_cairo_tests = get_option('cairo-tests') -if _cairo_tests != 'false' - dep_cairo = dependency('cairo', required : _cairo_tests == 'true') - with_cairo_tests = dep_cairo.found() -else - dep_cairo = [] - with_cairo_tests = false -endif -_valgrind = get_option('valgrind') -if _valgrind != 'false' - if with_freedreno - dep_valgrind = dependency('valgrind', required : _valgrind == 'true', version : '>=3.10.0') - else - dep_valgrind = dependency('valgrind', required : _valgrind == 'true') - endif - with_valgrind = dep_valgrind.found() -else - dep_valgrind = [] - with_valgrind = false -endif +dep_cairo = dependency('cairo', required : get_option('cairo-tests')) +with_cairo_tests = dep_cairo.found() -with_man_pages = get_option('man-pages') -prog_rst2man = find_program('rst2man', 'rst2man.py', required: with_man_pages == 'true') -with_man_pages = with_man_pages != 'false' and prog_rst2man.found() +valgrind_version = [] +if with_freedreno + valgrind_version = '>=3.10.0' +endif +dep_valgrind = dependency('valgrind', required : get_option('valgrind'), version : valgrind_version) +with_valgrind = dep_valgrind.found() + +prog_rst2man = find_program('rst2man', 'rst2man.py', required: get_option('man-pages')) +with_man_pages = prog_rst2man.found() config.set10('HAVE_VISIBILITY', cc.has_function_attribute('visibility:hidden')) diff --git a/meson_options.txt b/meson_options.txt index 761b40da..caddeff2 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -79,23 +79,17 @@ option( ) option( 'cairo-tests', - type : 'combo', - value : 'auto', - choices : ['true', 'false', 'auto'], + type : 'feature', description : 'Enable support for Cairo rendering in tests.', ) option( 'man-pages', - type : 'combo', - value : 'auto', - choices : ['true', 'false', 'auto'], + type : 'feature', description : 'Enable manpage generation and installation.', ) option( 'valgrind', - type : 'combo', - value : 'auto', - choices : ['true', 'false', 'auto'], + type : 'feature', description : 'Build libdrm with valgrind support.', ) option(