aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/backend/ninjabackend.py6
-rw-r--r--mesonbuild/build.py8
2 files changed, 3 insertions, 11 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index cc350b2..e0417f4 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1089,9 +1089,9 @@ int dummy;
raise InvalidArguments('Unknown target type for rustc.')
args.append(cratetype)
args += rustc.get_buildtype_args(self.environment.coredata.get_builtin_option('buildtype'))
- depfile = target.name + '.d'
- args += ['--out-dir', target.subdir]
- args += ['--emit', 'dep-info', '--emit', 'link']
+ depfile = os.path.join(target.subdir, target.name + '.d')
+ args += ['--emit', 'dep-info={}'.format(depfile), '--emit', 'link']
+ 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()
for d in target.link_targets:
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 2806331..41e21e3 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -479,14 +479,6 @@ class BuildTarget(Target):
# CSharp and Java targets can't contain any other file types
assert(len(self.compilers) == 1)
return
- if 'rust' in self.compilers:
- firstname = self.sources[0]
- if isinstance(firstname, File):
- firstname = firstname.fname
- first = os.path.split(firstname)[1]
- (base, suffix) = os.path.splitext(first)
- if suffix != '.rs' or self.name != base:
- raise InvalidArguments('In Rust targets, the first source file must be named projectname.rs.')
def get_original_kwargs(self):
return self.kwargs