summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Engestrom <eric@engestrom.ch>2022-08-22 17:10:16 +0100
committerEric Engestrom <eric@engestrom.ch>2022-08-23 18:52:16 +0100
commita64a176cfd62956cc4967aa2929db2526d4faee2 (patch)
treeb47a38f9d5c711dbc877211763865012e78dc5e8
parent26eb15165b767de50bef3c02abd29cec256cf4a1 (diff)
downloaddrm-a64a176cfd62956cc4967aa2929db2526d4faee2.tar.gz
meson: simplify some more build options by using features
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Simon Ser <contact@emersion.fr>
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--meson.build32
-rw-r--r--meson_options.txt12
3 files changed, 14 insertions, 34 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
+dep_cairo = dependency('cairo', required : get_option('cairo-tests'))
+with_cairo_tests = dep_cairo.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()
-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()
+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(