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. 13
      mesonbuild/interpreter.py
  2. 12
      mesonbuild/mconf.py

@ -1383,6 +1383,19 @@ class Interpreter():
try: try:
return self.environment.coredata.user_options[optname].value return self.environment.coredata.user_options[optname].value
except KeyError: except KeyError:
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) raise InterpreterException('Tried to access unknown option "%s".' % optname)
@noKwargs @noKwargs

@ -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())

Loading…
Cancel
Save