1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
From 47bdea504067d00e9bed522e9575bd2416bfe4ee Mon Sep 17 00:00:00 2001
From: Daniel Mensinger <daniel@mensinger-ka.de>
Date: Fri, 13 Sep 2019 12:23:06 +0200
Subject: [PATCH] mconf: Fix meson configure crash (fixes #5909)
---
mesonbuild/mconf.py | 4 ++--
run_unittests.py | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py
index cac9d61ce4..4f8014014d 100644
--- a/mesonbuild/mconf.py
+++ b/mesonbuild/mconf.py
@@ -181,7 +181,7 @@ def print_default_values_warning():
core_options = {k: o for k, o in self.coredata.builtins.items() if k in core_option_names}
self.print_options('Core options', core_options)
- if self.build.environment.is_cross_build():
+ if self.default_values_only or self.build.environment.is_cross_build():
self.print_options('Core options (for host machine)', self.coredata.builtins_per_machine.host)
self.print_options(
'Core options (for build machine)',
@@ -190,7 +190,7 @@ def print_default_values_warning():
self.print_options('Core options', self.coredata.builtins_per_machine.host)
self.print_options('Backend options', self.coredata.backend_options)
self.print_options('Base options', self.coredata.base_options)
- if self.build.environment.is_cross_build():
+ if self.default_values_only or self.build.environment.is_cross_build():
self.print_options('Compiler options (for host machine)', self.coredata.compiler_options.host)
self.print_options(
'Compiler options (for build machine)',
diff --git a/run_unittests.py b/run_unittests.py
index f06be23aef..8cc9811482 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -3624,6 +3624,10 @@ def test_introspect_buildoptions_without_configured_build(self):
self.maxDiff = None
self.assertListEqual(res_nb, res_wb)
+ def test_meson_configure_from_source_does_not_crash(self):
+ testdir = os.path.join(self.unit_test_dir, '59 introspect buildoptions')
+ self._run(self.mconf_command + [testdir])
+
def test_introspect_json_dump(self):
testdir = os.path.join(self.unit_test_dir, '57 introspection')
self.init(testdir)
|