|
Igor Gnatenko |
ef6081 |
From 73adac113efb54643dd85474d0273391722ac422 Mon Sep 17 00:00:00 2001
|
|
Igor Gnatenko |
ef6081 |
From: Xavier Claessens <xavier.claessens@collabora.com>
|
|
Igor Gnatenko |
ef6081 |
Date: Fri, 27 Apr 2018 11:11:22 -0400
|
|
Igor Gnatenko |
ef6081 |
Subject: [PATCH 13/16] Passing --default-library=both should override project
|
|
Igor Gnatenko |
ef6081 |
value
|
|
Igor Gnatenko |
ef6081 |
|
|
Igor Gnatenko |
ef6081 |
Looks like this has always been broken, had_argument_for() was checking
|
|
Igor Gnatenko |
ef6081 |
if we have --default_library instead of --default-library.
|
|
Igor Gnatenko |
ef6081 |
---
|
|
Igor Gnatenko |
ef6081 |
mesonbuild/environment.py | 2 +-
|
|
Igor Gnatenko |
ef6081 |
run_unittests.py | 10 ++++++++++
|
|
Igor Gnatenko |
ef6081 |
test cases/unit/30 command line/meson.build | 4 +++-
|
|
Igor Gnatenko |
ef6081 |
3 files changed, 14 insertions(+), 2 deletions(-)
|
|
Igor Gnatenko |
ef6081 |
|
|
Igor Gnatenko |
ef6081 |
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
|
|
Igor Gnatenko |
ef6081 |
index 6920b8d6..15b37378 100644
|
|
Igor Gnatenko |
ef6081 |
--- a/mesonbuild/environment.py
|
|
Igor Gnatenko |
ef6081 |
+++ b/mesonbuild/environment.py
|
|
Igor Gnatenko |
ef6081 |
@@ -373,7 +373,7 @@ class Environment:
|
|
Igor Gnatenko |
ef6081 |
return is_library(fname)
|
|
Igor Gnatenko |
ef6081 |
|
|
Igor Gnatenko |
ef6081 |
def had_argument_for(self, option):
|
|
Igor Gnatenko |
ef6081 |
- trial1 = '--' + option
|
|
Igor Gnatenko |
ef6081 |
+ trial1 = coredata.get_builtin_option_cmdline_name(option)
|
|
Igor Gnatenko |
ef6081 |
trial2 = '-D' + option
|
|
Igor Gnatenko |
ef6081 |
previous_is_plaind = False
|
|
Igor Gnatenko |
ef6081 |
for i in self.original_cmd_line_args:
|
|
Igor Gnatenko |
ef6081 |
diff --git a/run_unittests.py b/run_unittests.py
|
|
Igor Gnatenko |
ef6081 |
index 2a466db0..ff8d7c66 100755
|
|
Igor Gnatenko |
ef6081 |
--- a/run_unittests.py
|
|
Igor Gnatenko |
ef6081 |
+++ b/run_unittests.py
|
|
Igor Gnatenko |
ef6081 |
@@ -2026,6 +2026,7 @@ recommended as it can lead to undefined behaviour on some platforms''')
|
|
Igor Gnatenko |
ef6081 |
# Verify default values when passing no args
|
|
Igor Gnatenko |
ef6081 |
self.init(testdir)
|
|
Igor Gnatenko |
ef6081 |
obj = mesonbuild.coredata.load(self.builddir)
|
|
Igor Gnatenko |
ef6081 |
+ self.assertEqual(obj.builtins['default_library'].value, 'static')
|
|
Igor Gnatenko |
ef6081 |
self.assertEqual(obj.builtins['warning_level'].value, '1')
|
|
Igor Gnatenko |
ef6081 |
self.wipe()
|
|
Igor Gnatenko |
ef6081 |
|
|
Igor Gnatenko |
ef6081 |
@@ -2059,6 +2060,15 @@ recommended as it can lead to undefined behaviour on some platforms''')
|
|
Igor Gnatenko |
ef6081 |
self.assertIn('passed as both', e.stderr)
|
|
Igor Gnatenko |
ef6081 |
self.wipe()
|
|
Igor Gnatenko |
ef6081 |
|
|
Igor Gnatenko |
ef6081 |
+ # --default-library should override default value from project()
|
|
Igor Gnatenko |
ef6081 |
+ self.init(testdir, extra_args=['--default-library=both'])
|
|
Igor Gnatenko |
ef6081 |
+ obj = mesonbuild.coredata.load(self.builddir)
|
|
Igor Gnatenko |
ef6081 |
+ self.assertEqual(obj.builtins['default_library'].value, 'both')
|
|
Igor Gnatenko |
ef6081 |
+ self.setconf('--default-library=shared')
|
|
Igor Gnatenko |
ef6081 |
+ obj = mesonbuild.coredata.load(self.builddir)
|
|
Igor Gnatenko |
ef6081 |
+ self.assertEqual(obj.builtins['default_library'].value, 'shared')
|
|
Igor Gnatenko |
ef6081 |
+ self.wipe()
|
|
Igor Gnatenko |
ef6081 |
+
|
|
Igor Gnatenko |
ef6081 |
|
|
Igor Gnatenko |
ef6081 |
class FailureTests(BasePlatformTests):
|
|
Igor Gnatenko |
ef6081 |
'''
|
|
Igor Gnatenko |
ef6081 |
diff --git a/test cases/unit/30 command line/meson.build b/test cases/unit/30 command line/meson.build
|
|
Igor Gnatenko |
ef6081 |
index 2ab21b6e..1006f49c 100644
|
|
Igor Gnatenko |
ef6081 |
--- a/test cases/unit/30 command line/meson.build
|
|
Igor Gnatenko |
ef6081 |
+++ b/test cases/unit/30 command line/meson.build
|
|
Igor Gnatenko |
ef6081 |
@@ -1 +1,3 @@
|
|
Igor Gnatenko |
ef6081 |
-project('command line test', 'c')
|
|
Igor Gnatenko |
ef6081 |
+project('command line test', 'c',
|
|
Igor Gnatenko |
ef6081 |
+ default_options : ['default_library=static']
|
|
Igor Gnatenko |
ef6081 |
+)
|
|
Igor Gnatenko |
ef6081 |
--
|
|
Igor Gnatenko |
ef6081 |
2.17.0
|
|
Igor Gnatenko |
ef6081 |
|