diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-04 04:02:17 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-04 04:02:17 +0300 |
commit | b197d9e2796874420e7ffc6f5dd66ac8b08bc56c (patch) | |
tree | 1e933b5bea09b0accebc4e41b2683032f64f5ef9 /mesonconf.py | |
parent | 50663144c37af5e0f411902eb3b799641daffa45 (diff) | |
download | meson-b197d9e2796874420e7ffc6f5dd66ac8b08bc56c.zip meson-b197d9e2796874420e7ffc6f5dd66ac8b08bc56c.tar.gz meson-b197d9e2796874420e7ffc6f5dd66ac8b08bc56c.tar.bz2 |
Can set compiler options with mesonconf.
Diffstat (limited to 'mesonconf.py')
-rwxr-xr-x | mesonconf.py | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/mesonconf.py b/mesonconf.py index 6922ea6..963585a 100755 --- a/mesonconf.py +++ b/mesonconf.py @@ -64,13 +64,6 @@ class Conf: f = '%s%s %s%s' % (name, namepad, descr, descrpad) print(f, value) - def tobool(self, thing): - if thing.lower() == 'true': - return True - if thing.lower() == 'false': - return False - raise ConfException('Value %s is not boolean (true or false).' % thing) - def set_options(self, options): for o in options: if '=' not in o: @@ -127,18 +120,10 @@ class Conf: self.coredata.localedir = v elif k in self.coredata.user_options: tgt = self.coredata.user_options[k] - if isinstance(tgt, mesonlib.UserBooleanOption): - tgt.set_value(self.tobool(v)) - elif isinstance(tgt, mesonlib.UserComboOption): - try: - tgt.set_value(v) - except coredata.MesonException: - raise ConfException('Value of %s must be one of %s.' % - (k, tgt.choices)) - elif isinstance(tgt, mesonlib.UserStringOption): - tgt.set_value(v) - else: - raise ConfException('Internal error, unknown option type.') + tgt.set_value(v) + elif k in self.coredata.compiler_options: + tgt = self.coredata.compiler_options[k] + tgt.set_value(v) elif k.endswith('linkargs'): lang = k[:-8] if not lang in self.coredata.external_link_args: @@ -181,6 +166,17 @@ class Conf: for (lang, args) in self.coredata.external_link_args.items(): print(lang + 'linkargs', str(args)) print('') + okeys = sorted(self.coredata.compiler_options.keys()) + if len(okeys) == 0: + print('No compiler options\n') + else: + print('Compiler options\n') + coarr = [] + for k in okeys: + o = self.coredata.compiler_options[k] + coarr.append([k, o.description, o.value]) + self.print_aligned(coarr) + print('') print('Directories\n') parr = [] parr.append(['prefix', 'Install prefix', self.coredata.prefix]) @@ -193,7 +189,7 @@ class Conf: self.print_aligned(parr) print('') if len(self.coredata.user_options) == 0: - print('This project does not have any options') + print('This project does not have user options') else: print('Project options\n') options = self.coredata.user_options |