aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-05-13 22:51:43 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-05-13 22:51:43 +0300
commitc2282f93824f2f983ea05aace3e3409c897f4384 (patch)
tree333d12f6ad1c488151fa877ab99f725ca16e6ce3 /mesonbuild
parent84012a509939d3babb741f0f61aec921e3ec34e4 (diff)
parent4ad9f2660864e00fa2a0220d3cf9bf0754a23c3e (diff)
downloadmeson-c2282f93824f2f983ea05aace3e3409c897f4384.zip
meson-c2282f93824f2f983ea05aace3e3409c897f4384.tar.gz
meson-c2282f93824f2f983ea05aace3e3409c897f4384.tar.bz2
Merged rust_args branch.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/backend/ninjabackend.py1
-rw-r--r--mesonbuild/build.py5
-rw-r--r--mesonbuild/compilers.py8
3 files changed, 10 insertions, 4 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index cad5096..4885f4b 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1150,6 +1150,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()
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index c2d4583..ce6405b 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -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')
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index c30e8fb..199bbab 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -146,10 +146,10 @@ java_buildtype_args = {'plain': [],
}
rust_buildtype_args = {'plain': [],
- 'debug': ['-g'],
- 'debugoptimized': ['-g', '--opt-level', '2'],
- 'release': ['--opt-level', '3'],
- 'minsize': [],
+ 'debug': ['-C', 'debuginfo=2'],
+ 'debugoptimized': ['-C', 'debuginfo=2', '-C', 'opt-level=2'],
+ 'release': ['-C', 'opt-level=3'],
+ 'minsize': [], # In a future release: ['-C', 'opt-level=s'],
}
d_gdc_buildtype_args = {'plain': [],