Merge pull request #569 from mesonbuild/cargs

Renamed compile&link args and made them accessible from get_option.
pull/574/head
Jussi Pakkanen 9 years ago
commit 0b81f5b0ad
  1. 15
      mesonbuild/interpreter.py
  2. 20
      mesonbuild/mconf.py

@ -1383,7 +1383,20 @@ class Interpreter():
try: try:
return self.environment.coredata.user_options[optname].value return self.environment.coredata.user_options[optname].value
except KeyError: 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 @noKwargs
def func_configuration_data(self, node, args, kwargs): def func_configuration_data(self, node, args, kwargs):

@ -101,16 +101,16 @@ class Conf:
elif k in self.coredata.base_options: elif k in self.coredata.base_options:
tgt = self.coredata.base_options[k] tgt = self.coredata.base_options[k]
tgt.set_value(v) tgt.set_value(v)
elif k.endswith('linkargs'): elif k.endswith('_link_args'):
lang = k[:-8] lang = k[:-10]
if not lang in self.coredata.external_link_args: if not lang in self.coredata.external_link_args:
raise ConfException('Unknown language %s in linkargs.' % lang) raise ConfException('Unknown language %s in linkargs.' % lang)
# TODO, currently split on spaces, make it so that user # TODO, currently split on spaces, make it so that user
# can pass in an array string. # can pass in an array string.
newvalue = v.split() newvalue = v.split()
self.coredata.external_link_args[lang] = newvalue self.coredata.external_link_args[lang] = newvalue
elif k.endswith('args'): elif k.endswith('_args'):
lang = k[:-4] lang = k[:-5]
if not lang in self.coredata.external_args: if not lang in self.coredata.external_args:
raise ConfException('Unknown language %s in compile args' % lang) raise ConfException('Unknown language %s in compile args' % lang)
# TODO same fix as above # TODO same fix as above
@ -145,11 +145,11 @@ class Conf:
print('') print('')
print('Compiler arguments:') print('Compiler arguments:')
for (lang, args) in self.coredata.external_args.items(): for (lang, args) in self.coredata.external_args.items():
print(' ' + lang + 'args', str(args)) print(' ' + lang + '_args', str(args))
print('') print('')
print('Linker args:') print('Linker args:')
for (lang, args) in self.coredata.external_link_args.items(): for (lang, args) in self.coredata.external_link_args.items():
print(' ' + lang + 'linkargs', str(args)) print(' ' + lang + '_link_args', str(args))
print('') print('')
print('Compiler options:') print('Compiler options:')
okeys = sorted(self.coredata.compiler_options.keys()) okeys = sorted(self.coredata.compiler_options.keys())
@ -180,11 +180,11 @@ class Conf:
for key in keys: for key in keys:
opt = options[key] opt = options[key]
if (opt.choices is None) or (len(opt.choices) == 0): if (opt.choices is None) or (len(opt.choices) == 0):
# Zero length list or string # Zero length list or string
choices = ''; choices = '';
else: else:
# A non zero length list or string, convert to string # A non zero length list or string, convert to string
choices = str(opt.choices); choices = str(opt.choices);
optarr.append([key, opt.description, opt.value, choices]) optarr.append([key, opt.description, opt.value, choices])
self.print_aligned(optarr) self.print_aligned(optarr)
print('') print('')

Loading…
Cancel
Save