summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--meson.build11
-rw-r--r--meson_options.txt3
3 files changed, 10 insertions, 6 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 27027233..4a3ed214 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -213,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 valgrind=disabled && ninja -C build"
+ /app/vmctl exec "pkg info; cd $CI_PROJECT_NAME ; meson build --auto-features=enabled -D etnaviv=disabled -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 2b142c68..4249b627 100644
--- a/meson.build
+++ b/meson.build
@@ -165,11 +165,16 @@ summary('Tegra', with_tegra)
with_etnaviv = false
_etnaviv = get_option('etnaviv')
-if _etnaviv.enabled()
- if not with_atomics
+if not _etnaviv.disabled()
+ if _etnaviv.enabled() and not with_atomics
error('libdrm_etnaviv requires atomics.')
endif
- with_etnaviv = true
+ with_etnaviv = _etnaviv.enabled() or (
+ with_atomics and [
+ 'loongarch64', 'mips', 'mips64',
+ 'arm', 'aarch64', 'arc',
+ ].contains(host_machine.cpu_family())
+ )
endif
summary('Etnaviv', with_etnaviv)
diff --git a/meson_options.txt b/meson_options.txt
index caddeff2..e80d79e2 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -74,8 +74,7 @@ option(
option(
'etnaviv',
type : 'feature',
- value : 'disabled',
- description : '''Enable support for etnaviv's experimental KMS API.''',
+ description : '''Enable support for etnaviv's KMS API.''',
)
option(
'cairo-tests',