rust: Support rust_args

pull/1551/head
Patrick Griffis 8 years ago
parent 7053d9abfd
commit b520a4f030
  1. 1
      mesonbuild/backend/ninjabackend.py
  2. 5
      mesonbuild/build.py
  3. 5
      test cases/rust/1 basic/meson.build

@ -1170,6 +1170,7 @@ int dummy;
args += rustc.get_buildtype_args(self.get_option_for_target('buildtype', target))
depfile = os.path.join(target.subdir, target.name + '.d')
args += ['--emit', 'dep-info={}'.format(depfile), '--emit', 'link']
args += target.get_extra_args('rust')
args += ['-o', os.path.join(target.subdir, target.get_filename())]
orderdeps = [os.path.join(t.subdir, t.get_filename()) for t in target.link_targets]
linkdirs = OrderedDict()

@ -34,6 +34,7 @@ known_basic_kwargs = {'install': True,
'fortran_args': True,
'd_args': True,
'java_args': True,
'rust_args': True,
'link_args': True,
'link_depends': True,
'link_with': True,
@ -632,6 +633,10 @@ class BuildTarget(Target):
if not isinstance(fortranlist, list):
fortranlist = [fortranlist]
self.add_compiler_args('fortran', fortranlist)
rustlist = kwargs.get('rust_args', [])
if not isinstance(rustlist, list):
rustlist = [rustlist]
self.add_compiler_args('rust', rustlist)
if not isinstance(self, Executable):
self.vala_header = kwargs.get('vala_header', self.name + '.h')
self.vala_vapi = kwargs.get('vala_vapi', self.name + '.vapi')

@ -1,6 +1,9 @@
project('rustprog', 'rust')
e = executable('program', 'prog.rs', install : true)
e = executable('program', 'prog.rs',
rust_args : ['-C', 'lto'], # Just a test
install : true
)
test('rusttest', e)
subdir('subdir')

Loading…
Cancel
Save