aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-08-11 18:33:25 +0200
committerEli Schwartz <eschwartz93@gmail.com>2025-08-17 10:36:05 -0400
commit14b76321c3f528e95384f7ea5f238ccd1340df3d (patch)
treeb5300efc6cc31c68b33ab0877a4aa0aa060d4389
parent314dc6db9edfeda13318545409927869e73e4fad (diff)
downloadmeson-14b76321c3f528e95384f7ea5f238ccd1340df3d.zip
meson-14b76321c3f528e95384f7ea5f238ccd1340df3d.tar.gz
meson-14b76321c3f528e95384f7ea5f238ccd1340df3d.tar.bz2
rewriter: accept UnknownValue for name_prefix/name_suffix
Fixes another problem with running "meson configure" on Mesa. Related: #14840 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--mesonbuild/build.py8
-rw-r--r--test cases/unit/58 introspect buildoptions/meson.build8
2 files changed, 14 insertions, 2 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 041cb19..b435320 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1225,7 +1225,9 @@ class BuildTarget(Target):
self.resources = resources
if kwargs.get('name_prefix') is not None:
name_prefix = kwargs['name_prefix']
- if isinstance(name_prefix, list):
+ if isinstance(name_prefix, UnknownValue):
+ pass
+ elif isinstance(name_prefix, list):
if name_prefix:
raise InvalidArguments('name_prefix array must be empty to signify default.')
else:
@@ -1235,7 +1237,9 @@ class BuildTarget(Target):
self.name_prefix_set = True
if kwargs.get('name_suffix') is not None:
name_suffix = kwargs['name_suffix']
- if isinstance(name_suffix, list):
+ if isinstance(name_suffix, UnknownValue):
+ pass
+ elif isinstance(name_suffix, list):
if name_suffix:
raise InvalidArguments('name_suffix array must be empty to signify default.')
else:
diff --git a/test cases/unit/58 introspect buildoptions/meson.build b/test cases/unit/58 introspect buildoptions/meson.build
index 36e03e0..a6a8b86 100644
--- a/test cases/unit/58 introspect buildoptions/meson.build
+++ b/test cases/unit/58 introspect buildoptions/meson.build
@@ -14,5 +14,13 @@ if r.returncode() != 0
error('FAILED')
endif
+name_prefix = 'lib'
+if get_option('buildtype') == 'release'
+ # ensure that these variables become an UnkownValue
+ name_prefix = []
+endif
+
+static_library('hello', 'hello.c', name_prefix: name_prefix)
+
add_languages(r.stdout().strip(), required: true)
add_languages('afgggergearvearghergervergreaergaergasv', required: false)