diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-05-29 23:46:14 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-05-29 23:46:14 +0300 |
commit | 0b81f5b0ade5876844c9059645ff031146b3b052 (patch) | |
tree | bfbbb97d81c3a38ffa5b594408665fe62fa95be7 | |
parent | cc055387cddd0ff57ed5087f93fa846678936cc6 (diff) | |
parent | 7694321276944e0215924238fa7121a3141d2617 (diff) | |
download | meson-0b81f5b0ade5876844c9059645ff031146b3b052.zip meson-0b81f5b0ade5876844c9059645ff031146b3b052.tar.gz meson-0b81f5b0ade5876844c9059645ff031146b3b052.tar.bz2 |
Merge pull request #569 from mesonbuild/cargs
Renamed compile&link args and made them accessible from get_option.
-rw-r--r-- | mesonbuild/interpreter.py | 15 | ||||
-rw-r--r-- | mesonbuild/mconf.py | 20 |
2 files changed, 24 insertions, 11 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index bbf822c..8d260f0 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1383,7 +1383,20 @@ class Interpreter(): try: return self.environment.coredata.user_options[optname].value except KeyError: - raise InterpreterException('Tried to access unknown option "%s".' % optname) + pass + if optname.endswith('_link_args'): + try: + lang = optname[:-10] + return self.coredata.external_link_args[lang] + except KeyError: + pass + if optname.endswith('_args'): + try: + lang = optname[:-5] + return self.coredata.external_args[lang] + except KeyError: + pass + raise InterpreterException('Tried to access unknown option "%s".' % optname) @noKwargs def func_configuration_data(self, node, args, kwargs): diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py index 3d38712..4b11c10 100644 --- a/mesonbuild/mconf.py +++ b/mesonbuild/mconf.py @@ -101,16 +101,16 @@ class Conf: elif k in self.coredata.base_options: tgt = self.coredata.base_options[k] tgt.set_value(v) - elif k.endswith('linkargs'): - lang = k[:-8] + elif k.endswith('_link_args'): + lang = k[:-10] if not lang in self.coredata.external_link_args: raise ConfException('Unknown language %s in linkargs.' % lang) # TODO, currently split on spaces, make it so that user # can pass in an array string. newvalue = v.split() self.coredata.external_link_args[lang] = newvalue - elif k.endswith('args'): - lang = k[:-4] + elif k.endswith('_args'): + lang = k[:-5] if not lang in self.coredata.external_args: raise ConfException('Unknown language %s in compile args' % lang) # TODO same fix as above @@ -145,11 +145,11 @@ class Conf: print('') print('Compiler arguments:') for (lang, args) in self.coredata.external_args.items(): - print(' ' + lang + 'args', str(args)) + print(' ' + lang + '_args', str(args)) print('') print('Linker args:') for (lang, args) in self.coredata.external_link_args.items(): - print(' ' + lang + 'linkargs', str(args)) + print(' ' + lang + '_link_args', str(args)) print('') print('Compiler options:') okeys = sorted(self.coredata.compiler_options.keys()) @@ -180,11 +180,11 @@ class Conf: for key in keys: opt = options[key] if (opt.choices is None) or (len(opt.choices) == 0): - # Zero length list or string - choices = ''; + # Zero length list or string + choices = ''; else: - # A non zero length list or string, convert to string - choices = str(opt.choices); + # A non zero length list or string, convert to string + choices = str(opt.choices); optarr.append([key, opt.description, opt.value, choices]) self.print_aligned(optarr) print('') |